#include<stdio.h>intmain(){int a =0;int count =0;for(a =100; a <=200&& a >=100; a++){int j =0;int b =0;int k =0;for(b =2; b < a; b++){
k = a % b;if(k ==0){
j =1;break;}}if(j ==0){printf("%d ", a);
count++;}}printf("\ncount=%d\n", count);return0;}
2.优化改进.1:由于偶数不可能为质数,把a赋值为101,每次运行加2,如下:
#include<stdio.h>intmain(){int a =0;int count =0;for(a =101; a <=200&& a >=100; a+=2)//这里减少了代码运行的次数,使程序更加高效{int j =0;int b =0;int k =0;for(b =2; b < a; b++){
k = a % b;if(k ==0){
j =1;break;}}if(j ==0){printf("%d ", a);
count++;}}printf("\ncount=%d\n", count);return0;}
#include<stdio.h>#include<math.h>//下面我们要用到数学的函数引用此头文件intmain(){int a =0;int count =0;for(a =101; a <=200&& a >=100; a+=2){int j =0;int b =0;int k =0;for(b =2; b <= sqrt(a); b++)//再次优化,减少循环次数{
k = a % b;if(k ==0){
j =1;break;}}if(j ==0){printf("%d ", a);
count++;}}printf("\ncount=%d\n", count);return0;}