#include < iostream > #include < fstream > using namespace std; const int LENGTH = 50 ; bool Array[LENGTH + 1 ] = ... {false} ; int main() ... { ofstream FILE("mydata.txt"); for (int i=2;i<=LENGTH;++i) ...{ if (Array[i]==false) ...{ cout<<i<<' '; FILE<<i<<' '; for (unsigned int j=i*i;j<=LENGTH;j+=i)//HERE!筛选法求素数! ...{ Array[j]=true; } } } cout<<endl; FILE<<endl; FILE.close(); system("pause"); return 0;} 感觉不错,收藏之。 在某个区间内,如果将所有素数的倍数删除,那么剩下的肯定是素数。 ps:判断素数的一般方法为: 1. 检验一个数是不是素数,只要看比它的平方根小的素数是不是能整除它。