本文共 1099 字,大约阅读时间需要 3 分钟。
#includeusing namespace std;//埃拉脱色尼塞算法求质数struct Array{ int exist; int number;};Array a[100];void Find(int n){ for (int i=1;i<=n;i++) { a[i].exist=1; a[i].number=i; } int i=2;//用来指示当前的倍数的下标 int t; int j; int number; while(a[i].number*a[i].number<=n) { for(j=i+1;j<=n;j++) { if(a[j].exist==1&&a[j].number%a[i].number==0) a[j].exist=0; } i++; while(a[i].exist!=1) i++; } for (int i=2;i<=n;i++) { if(a[i].exist==1) cout< <<" "; }}int main(){ Find(25);}
共同学习!
转载地址:http://xilzi.baihongyu.com/