回答編集履歴

3

少し修正

2021/03/17 00:22

投稿

stdio
stdio

スコア3307

test CHANGED
@@ -12,19 +12,11 @@
12
12
 
13
13
  if(num == 2) return true; //2は素数
14
14
 
15
- if(num == 3) return true; //3は素数
16
-
17
- if(num % 2 == 0) return false; //2で割れるものは素数ではない
18
-
19
15
 
20
16
 
21
- for (int x = 3; x < num; x += 2){
17
+ for (int x = 2; x < num; x++){
22
18
 
23
- if(num % x == 0) return true;
24
-
25
- }
26
-
27
- return false;
19
+ //後は同じ
28
20
 
29
21
  }
30
22
 

2

少し修正

2021/03/17 00:22

投稿

stdio
stdio

スコア3307

test CHANGED
@@ -12,13 +12,19 @@
12
12
 
13
13
  if(num == 2) return true; //2は素数
14
14
 
15
+ if(num == 3) return true; //3は素数
16
+
15
17
  if(num % 2 == 0) return false; //2で割れるものは素数ではない
16
18
 
17
19
 
18
20
 
19
- for (int x = 2; x < num; x++){
21
+ for (int x = 3; x < num; x += 2){
20
22
 
23
+ if(num % x == 0) return true;
24
+
25
+ }
26
+
21
- //この後は同じ
27
+ return false;
22
28
 
23
29
  }
24
30
 

1

少し修正

2021/03/17 00:09

投稿

stdio
stdio

スコア3307

test CHANGED
@@ -9,6 +9,8 @@
9
9
  bool check_prime_number(int num){
10
10
 
11
11
  if(num <= 1) return false; //1より小さい数字は素数ではない
12
+
13
+ if(num == 2) return true; //2は素数
12
14
 
13
15
  if(num % 2 == 0) return false; //2で割れるものは素数ではない
14
16