teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

Static削除

2020/07/15 08:11

投稿

momon-ga
momon-ga

スコア4828

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

敬称つけた

2020/07/15 08:11

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -1,6 +1,6 @@
1
- 基本的には、cateyeの回答にある
1
+ 基本的には、cateyeさんの回答にある
2
2
 
3
- > 素数だった場合に、それを呼び出し側が判別できなくてはいけません。
3
+ > 判定を抜ける時に渡した数値が素数だった場合に、それを呼び出し側が判別できなくてはいけません。
4
4
 
5
5
  をする必要があります。
6
6
 

1

BAついたので追記

2020/07/15 08:08

投稿

momon-ga
momon-ga

スコア4828

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 primes3(int prime) {
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側で素数と判定された回数がわかります。