遍历3~200之间的所有奇数,直接判断其是否为素数,是则输出。用一初值为0的变量t记录输出素数的个数,每输出一个增1,当t能被5整除时增加一个回车。代码如下:
#include
int main(int argc,char *argv[]){
int n,m,t;
for(t=0,n=3;n<200;n+=2){//遍历3~200之间的奇数
for(m=3;m*m<=n;m+=2)//若有1和自身以外的因子则非素数
if(n%m==0)
break;
if(m*m>n)//输出素数
printf(++t%5 ? "%4d" : "%4d\n",n);//由++t%5控制每行5个
}
if(t%5)//若最后一行不足5个数则补一个换行
printf("\n");
return 0;
}
运行结果如下图:
int g = 1;
for(int i = 3; i <= 200; i++) {
int flag = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag) {
printf("%4d", i);
g++;
if(g == 5) {
g = 1;
printf("\n");
}
}
}