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

質問編集履歴

3

作成したいプログラムに関して一部追記しました

2021/12/08 03:13

投稿

Syoshinsya_1
Syoshinsya_1

スコア3

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
  整数n以下の素数番目の素数の和を求めるプログラムを作成したいです。
3
3
  k番目の素数pについてkもまた素数であるときにこれを素数番目の素数と呼びます。
4
- 具体的にはn=8としたとき、2番目の素数である3,3番目の素数である5の和である8が出力されるというようなプログラムを作成したいです
4
+ 具体的にはn=8としたとき、8以下の素数の中で2番目の素数である3,3番目の素数である5の和である8が出力されるというようなプログラムを作成したいです
5
5
 
6
6
  方針としては3から奇数のみをchecksosuuで調べていき素数番目の素数なら配列に格納し、後でまとめて足すというプログラムにしたいです
7
7
  ### 発生している問題・エラーメッセージ

2

回答者様に指摘していただいた関数checksosuuの無駄な部分を削除しました

2021/12/08 03:13

投稿

Syoshinsya_1
Syoshinsya_1

スコア3

title CHANGED
File without changes
body CHANGED
@@ -3,12 +3,12 @@
3
3
  k番目の素数pについてkもまた素数であるときにこれを素数番目の素数と呼びます。
4
4
  具体的にはn=8としたとき、2番目の素数である3,3番目の素数である5の和である8が出力されるというようなプログラムを作成したいです
5
5
 
6
- 方針としては3から奇数のみをchecksosuuで調べていき素数番目の素数なら配列に格納し、後で足すというプログラムにしたいです
6
+ 方針としては3から奇数のみをchecksosuuで調べていき素数番目の素数なら配列に格納し、後でまとめて足すというプログラムにしたいです
7
7
  ### 発生している問題・エラーメッセージ
8
8
 
9
9
  ```
10
10
  int型の自作関数checksosuuが動作しません
11
- 例えばn=8に設定して実行すると結果が0となりint sosuuhanteiがうまくいってないことが確認できました。
11
+ 例えばn=8に設定して実行すると結果が0となりint checksosuuがうまくいってないことが確認できました。
12
12
  printf("OK");などとして確認したところwhileループはきちんと回数通りに動いているのですがsosuuhantei が動いていません。
13
13
  ```
14
14
 
@@ -23,13 +23,11 @@
23
23
 
24
24
  int checksosuu(int a){
25
25
  int i=3; //素数判定
26
- if(a==n+1||a==n) return 0;
26
+
27
- else{
28
27
  for(i=3;i<=a;i+=2){
29
28
  if(a%i==0)return 0;
30
29
  }
31
- }
32
- return 1;
30
+ return 1;
33
31
  }
34
32
 
35
33
 

1

関数の名前が間違っていました

2021/12/07 18:12

投稿

Syoshinsya_1
Syoshinsya_1

スコア3

title CHANGED
File without changes
body CHANGED
@@ -3,10 +3,11 @@
3
3
  k番目の素数pについてkもまた素数であるときにこれを素数番目の素数と呼びます。
4
4
  具体的にはn=8としたとき、2番目の素数である3,3番目の素数である5の和である8が出力されるというようなプログラムを作成したいです
5
5
 
6
+ 方針としては3から奇数のみをchecksosuuで調べていき素数番目の素数なら配列に格納し、後で足すというプログラムにしたいです
6
7
  ### 発生している問題・エラーメッセージ
7
8
 
8
9
  ```
9
- int型の自作関数sosuuhanteiが動作しません
10
+ int型の自作関数checksosuuが動作しません
10
11
  例えばn=8に設定して実行すると結果が0となりint sosuuhanteiがうまくいってないことが確認できました。
11
12
  printf("OK");などとして確認したところwhileループはきちんと回数通りに動いているのですがsosuuhantei が動いていません。
12
13
  ```