方法一(这么想怎么敲代码):
#include<stdio.h> int main() { int i,j; for(i=100;i<=200;i++) {for(j=2;j<=i-1;j++) { if(i%j==0) break; if(j>=i-1) printf("%d",i); } } system("pause"); return 0; }
//system("pause");即将运行结果暂停下来,以便我们观看。还有getchar();但是getchar某些时候也可能不会暂停。
方法二(减少后续不必要的循环):
#include<stdio.h> #include<math.h> int main() { int i,j,k; for(i=100;i<=200;i++) { k=sqrt(i); for(j=2;j<=k;j++) { if(i%j==0) break; if(j>=k) printf("%d",i); } } system("pause"); return 0; }
方法三(偶数排除法,节约一半的效率):
#include<stdio.h> #include<math.h> int main() { int i,j,k; for(i=101;i<=200;i=i+2) { k=sqrt(i); for(j=2;j<=k;j++) { if(i%j==0) break; if(j>=k) printf("%d",i); } } system("pause"); return 0; }