20/05/31 21:14:02 Z63y3ceL.net
>>616 こんな感じじゃないかなあ
C++
#include <iostream>
const int MAXENT = 1000000;
int prime_table[MAXENT] = {3};
int main()
{
int found = 0, s = 0, d = 4;
for(__int64 p = 5;;p += (d = 6 - d)) {
for(int i = 0;;i ++) {
int can = prime_table[i];
if( p < can * can || i >= found ) {
if( p < MAXENT ) { prime_table[found ++] = (int)p; }
if( (s += d - 3) == 0 ) { std::cout << p << std::endl; }
break;
}
if( p % can == 0 ) { break; }
} }
return 0;
}