プログラマー軍団がC/C++の宿題を解決します 34代目
■ このスレッドは過去ログ倉庫に格納されています
0116デフォルトの名無しさん
NGNG#include <stdio.h>
#define N 51
void main()
{
int a[N];
int i,j,k,m;
int max_prime;
for (i=2; i<=N-1; i++) {
a[i] = i;
}
max_prime = 2;
while (max_prime*max_prime <= N-1) {
for (j=max_prime+1; j<=N-1; j++) {
if (!(a[j]%max_prime)) /* 割り切れるなら */
a[j] = 0;
}
k = max_prime + 1;
while((a[k] ==0) || (a[k] <= max_prime)) {
k++;
}
max_prime = a[k];
}
for (m = 2; m <= N-1; m++) {
if (a[m] != 0){
printf("%d\n",a[m]);
}
}
}
■ このスレッドは過去ログ倉庫に格納されています