Problem B: 输出200-299之间的所有素数
分析
对于隔几个就换行问题,我们利用%来处理,对于相邻数据的间隔问题我们也可以用取余等于1或者2等等的方式处理。
Description
一个整数如果不能被1和自身以外的所有整数所整除,那么这个数是素数。编写程序找出200~299之间的所有素数。
Input
无输入。
Output
200~299之间的所有素数,每8个数就换行。注意:每一行第一个数字(如211 257)前无空格,每一行最后一个数字(如251 293)后面无空格。
Sample Input
无
Sample Output
211 223 227 229 233 239 241 251
257 263 269 271 277 281 283 293
#include<stdio.h>
int main()
{
int a=0,count=0,m,i;
for(m=200;m<300;m++)
{
for(i=2;i*i<=m;i++)
{
if(m%i==0)
{
break;
}
}
if(i*i>m)//这个的意思就相当关于循环做完,已经判断完成是素数,然后进行输出操作
{
count++;
if(count%8==1)
printf("%3d",m);
if(count%8!=1)
printf("%4d",m);
if(count%8==0)
printf("\n");
}
}
return 0;
}
总结
1、善于利用%对一些数据的间隔和换行做处理。
2、注意利用一些循环结束条件,来完成余下的一些操作。