STEP 6.1 (各自の方法)

問題

自分の方法(アルゴリズム)を、プログラムにしよう。

下のプログラムテンプレートを使い、②にあたる部分を作成せよ。(関数にしてもよい)

実行例

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

コメント

例題集

解答例

[プログラムテンプレート(未完)]
#include <stdio.h>
#include <math.h>
#define N 50 // プログラム中のNという文字を、50におきかえ

int main (void) {
   int p[N+1]; 
   int i;

/* ① p[2] - p[N]を1に初期化 */
   for(i = 2; i <= N; i++)
      p[i]=1;

/* ② 自分のやり方をプログラミングしよう */
/* もし素数ではないなら、素数番目の配列pを、0にしよう */

   
/* ③ 値が1のものは素数。1の場合だけ配列のインデックスをプリント */
   for(i = 2; i <= N; i++)
      if(p[i]==1) 
         printf("%3d", i);

   printf("\n");

   return 0;

}