回答編集履歴
3
Static削除
answer
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
}
|
20
20
|
```
|
21
21
|
|
22
|
-
0. Staticな変数に素数の数を保存する
|
22
|
+
0. ~~Staticな~~変数に素数の数を保存する(Staticじゃなくても良かった)
|
23
23
|
0. 関数の戻り値に素数判定した回数を設定する(primes側でカウント)
|
24
24
|
0. 関数に戻り値を設定して素数かわかるようにして(main側でカウントする)
|
25
25
|
|
2
敬称つけた
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
基本的には、cateyeの回答にある
|
1
|
+
基本的には、cateyeさんの回答にある
|
2
2
|
|
3
|
-
> 素数だった場合に、それを呼び出し側が判別できなくてはいけません。
|
3
|
+
> 判定を抜ける時に渡した数値が素数だった場合に、それを呼び出し側が判別できなくてはいけません。
|
4
4
|
|
5
5
|
をする必要があります。
|
6
6
|
|
1
BAついたので追記
answer
CHANGED
@@ -40,6 +40,7 @@
|
|
40
40
|
System.out.println(prime + "は素数です");
|
41
41
|
}
|
42
42
|
|
43
|
+
// cnt = primes2(n, cnt);
|
43
44
|
public int primes2(int prime, int cnt) {
|
44
45
|
for(int i = 2; i < prime; i++) {
|
45
46
|
if(prime % i == 0) {
|
@@ -52,7 +53,8 @@
|
|
52
53
|
return cnt + 1;
|
53
54
|
}
|
54
55
|
|
56
|
+
// if (primes3a(n)) cnt++;
|
55
|
-
public boolean
|
57
|
+
public boolean primes3a(int prime) {
|
56
58
|
for(int i = 2; i < prime; i++) {
|
57
59
|
if(prime % i == 0) {
|
58
60
|
// A
|
@@ -64,6 +66,19 @@
|
|
64
66
|
return true;
|
65
67
|
}
|
66
68
|
|
69
|
+
// cnt += primes3b(n); // n が素数の場合、+1される
|
70
|
+
public int primes3b(int prime) {
|
71
|
+
for(int i = 2; i < prime; i++) {
|
72
|
+
if(prime % i == 0) {
|
73
|
+
// A
|
74
|
+
return 0;
|
75
|
+
}
|
76
|
+
}
|
77
|
+
// B
|
78
|
+
System.out.println(prime + "は素数です");
|
79
|
+
return 1;
|
80
|
+
}
|
81
|
+
|
67
82
|
```
|
68
83
|
|
69
84
|
というメソッドになっていれば、main側で素数と判定された回数がわかります。
|