回答編集履歴
1
重複した要素と素数への対応の変更
answer
CHANGED
@@ -2,32 +2,36 @@
|
|
2
2
|
本来の目的であったnumの最後の要素以外を並び替え、
|
3
3
|
numのindexに対応するようにfizzの要素も並び替え出力することができました。
|
4
4
|
```java
|
5
|
+
int flag=0;
|
6
|
+
Collections.sort(index, (i1, i2) -> num.get(i1) - num.get(i2));
|
7
|
+
|
5
|
-
|
8
|
+
List<Integer> oldNum = new ArrayList<>(num);
|
6
|
-
list.addAll(num);
|
7
|
-
List<Integer> index = new ArrayList(num.size());
|
8
|
-
for (int i = 0; i <
|
9
|
+
for (int i = 0; i < index.size(); i++) {
|
9
|
-
|
10
|
+
num.set(i, oldNum.get(index.get(i)));
|
10
|
-
}
|
11
|
+
}
|
12
|
+
List<String> oldFizz = new ArrayList<>(fizz);
|
11
|
-
|
13
|
+
for (int i = 0; i < index.size(); i++) {
|
12
|
-
|
14
|
+
fizz.set(i, oldFizz.get(index.get(i)));
|
13
|
-
Collections.sort(fizz, (s1, s2) -> num.get(fizz.indexOf(s1)) - num.get(fizz.indexOf(s2)));
|
14
|
-
|
15
|
+
}
|
15
|
-
int m = list.get(list.size()-1);
|
16
|
+
int m = list.get(list.size()-1);
|
16
|
-
for(int i=0;i<num.size();i++) {
|
17
|
+
for(int i=0;i<num.size();i++) {
|
17
|
-
|
18
|
+
if(m%num.get(i)==0) {
|
18
|
-
|
19
|
+
System.out.print(fizz.get(i));
|
20
|
+
}else{
|
19
|
-
|
21
|
+
flag += 1;
|
22
|
+
}
|
20
|
-
|
23
|
+
}if(flag==num.size()&&m>2){
|
24
|
+
for(int i=0;i<num.size();i++) {
|
21
|
-
|
25
|
+
for(i = 2; i < m; i++){
|
22
|
-
|
26
|
+
if(m % i == 0) {
|
23
|
-
|
27
|
+
System.out.println(m);
|
24
|
-
|
28
|
+
}else{
|
25
|
-
|
29
|
+
System.out.println("prime");
|
26
|
-
|
30
|
+
}return;
|
27
|
-
|
31
|
+
}
|
32
|
+
}
|
28
|
-
|
33
|
+
}else if(flag==num.size()&&m<=2){
|
29
|
-
|
34
|
+
System.out.println(m);
|
30
|
-
|
35
|
+
return;
|
31
|
-
|
36
|
+
}
|
32
|
-
}
|
33
37
|
```
|