C/C++の宿題やらせてください。6代目。
■ このスレッドは過去ログ倉庫に格納されています
0253デフォルトの名無しさん
NGNG#include <stdio.h>
#include <math.h>
int IsPrime( int n ) {
int max = (int)sqrt(n);
int i = 2;
while( i <= max && n % i != 0 )
i++;
return max < i;
}
int main( int argc, char** argv ) {
int i = 2;
int count = 0, sum = 0;
while( count <= 100000 ) {
if( IsPrime(i) ) {
if( ++count % 1000 == 0 ) {
printf( "prime[%d] : %d\n", count, i );
sum += i;
}
}
i++;
}
printf( "%d\n", sum );
}
「配列を使わない」って、「エラトステネスのふるいを使うな」か?
であれば、これでいいはず。
( 検算はして無いから、大ポカやってる可能性もあり。 )
■ このスレッドは過去ログ倉庫に格納されています