#include<stdio.h>
 #define LIMIT 1000
 
 
 void print_preme(int n)
 {
   int Mark[LIMIT], i, j; 
 
   /*1をセット*/
   for ( i = 0 ; i < n ; i++ ) Mark[i] = 1;
 
   Mark[0] = Mark[1] = 0;
 
   /*倍数をふるい落とす*/
   for ( i=2; i<n; i++) {
     if( Mark[i] ) {
       for ( j=i*2; j<n; j+=i) Mark[j] = 0;
     }
   }
 
   /*残ったものを表示*/
   for ( i=0; i<n; i++) {
     if (Mark[i]) {
     printf("%d\n",i);
     }
   }
 }
 
 
 int main()
 {
   int n;
 
   while(1){
     puts("入力してください");
     scanf("%d",&n);
 
     if( n > LIMIT)puts("数値が大きすぎます");
     else break;
   }
 
   print_preme(n);
   return 0;
 }

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS