C/C++の宿題片付けます 138代目

このエントリーをはてなブックマークに追加
669デフォルトの名無しさん
>>647
なるべくヒントに近く書いてみた。
#include <stdio.h>
int main(void)
{
int sieve[10000];
int i, j, cnt, n;
scanf("%d", &n);
if(n > 10000) return 0;
for(i = 0, j = 2; j <= n; i++, j++) sieve[i] = j;
cnt = i;
while(cnt) {
int temp = sieve[0];
printf("%d\n", temp);
for(i = 1, j = 0; i < cnt; i++) if(sieve[i] % temp) sieve[j++] = sieve[i];
cnt = j;}
return 0;}