用穷举法找出1到100的质数并显示出来。分别使用while、do-while、for循环语句实现。
1.用while:
include<iostream.h>
void main() {int i,j,n,m; i=2; while(i<101) {m=1;n=i/2;j=2; while(j<=n) { if(i%j==0) {m=0; breake; } j++; } if(m) cout<<i<<""; i++; } }
2.用do...while
#include<iostream.h>
void main() {int i,j,n,m; i=2; do {m=1;n=i/2;j=2; do {if(i%j==0) {m=0; breake; } j++; }while(j<=n); if(m) cout<<i<<""; i++; }while(i<101); }
3.用for # include<iostream.h> void main() {int i,j,n,m; for(i=2;i<101;i++) {m=1; n=i/2; for(j=2;j<=k;j++) {if(i%j==0) {m=0; breake; } } if(m) cout<<i<<""; }}
4.#include <iostream.h> #include <math.h>
void main() { int flag=1;
for(int i=11;i<101;i++) { for(int j=2;j<sqrt(i);j++) { if(i%j==0) { flag=0; break; } else flag=1; } if(flag==0) cout<<" "; else cout<<i<<endl;
} } 这次没问题了。。 其它类似
5.if(m%2!=0) //如果是以2结尾的则一定不是素数,数目比较大的时候,效率高 { k=(int)sqrt(m); for(n=2;n<=k;n++) //判断是否为素数 { if(m%n==0) break; } if(n==k) //不是则输出 { count++; cout<<m<<" "; }
|