编制用筛选法求1~n(n<=200)以内素数的程序。
1)将范围内的数都标示为素数;
2)设定i为2;
3)依次寻找最小的素数;
4)将i的所有倍数都设为非素数;
5)重复2-4直到i大于n;
6)按照每行10个打印出所有的素数。
#include<iostream> #include<iomanip> using namespace std; const int n=200; int a[n+10]={0}; int main() { for(int i=2;i<=n;i++) if(__(1)__) for(int j=i+i;j<=n;___(2)__) a[__(3)__]=1;//将i的所有倍数都设为非素数 int t=0; for(int i=2;i<=n;i++) // 打印所有素数 if(a[i]==0){ cout<<setw(5)<<i; t++; if(__(4)_____) cout<<endl; } return 0; }