とにかく素数がやたらと出てくるので素数を求めるテンプレ。 UP以下の素数を求め、それをテスト出力する。 #include<stdio.h> #include<vector> #include<algorithm> const int up=1000000; std::vector<int> sosuu; bool so[up+1]; void setSo(){ int i2; memset(so,true,sizeof(so)); so[0]=so[1]=false; for(int i=4;i<=up;i+=2)so[i]=false; sosuu.push_back(2); for(int i=3;i<=up;i+=2){ if(so[i]==false)continue; sosuu.push_back(i); i2=i*2; for(int j=i*3;j<=up;j+=i2){ so[j]=false; } } } int main(){ setSo(); for(int i=0;i<100;i++){ //printf("%d ",sosuu[i]); } }