Ex2_19.cpp
上传用户:wuzhousb
上传日期:2022-07-12
资源大小:380k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. //【例2.19】 用筛选法求100之内的所有素数,并将这些素数输出,每行输出10个数据。
  2. #include<iostream>
  3. #include<iomanip>
  4. #include<cmath>
  5. using namespace std;
  6. const int n=100;
  7. int main(){
  8. int a[n];
  9. int i,j;
  10. for(i=0;i<n;i++) a[i]=1+i; //用数组保存整数1-100
  11. a[0]=0; //1不是素数,置0
  12. for(i=1;i<n;i++){
  13. if(a[i]==0)  continue; //该数已经置0,判断下一个数
  14. for(j=i+1;j<n;j++) if(a[j]%a[i]==0)  a[j]=0; //是a[i]倍数的元素置0;
  15. }
  16. int count=0;
  17. cout<<"1-" <<n<<"之间的素数:"<<endl;
  18. for(i=0;i<n;i++) //输出所有素数
  19. if(a[i]!=0){                       //非0元素即为素数
  20. cout<<setw(6)<<a[i];
  21. count++;
  22. if(count%10==0)  cout<<endl; //每行10个数据
  23. }
  24. cout<<endl;
  25. return 0;
  26. }