前言
多重循环与break的运用
一、什么是素数
- 只能被1和它本身所整除的自然数(2~它自身减一都不能整除)
- 由8可以由1*8,2*4,4*2,8*1求得,于是我们可以用sqrt()去进行更加简便的运算。
- 整理思路为首先有一外循环从1-200检查,内循环为检查数是否可以整除数,内循环中还需用到两个条件判断:判断可以整除时跳出内循环体(break);判断均不可以整除时输出数并做到一行五个的输出
二、使用步骤
1.代码如下
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,z;
for(i=1;i<=200;i++)
{
k=sqrt(i*1.0);
for(j=2;j<=k;j++)
{
if(i%j==0)
break;
}
if(j>k)
{
printf("%d ",i);
z++;
if(z%5==0)
printf("\n");
}
}
printf("\n");
return 0;
}
2.我所遇到的问题
-
为什么k赋值后为浮点数却要设置为int型
如何将成功算出来的素数输出出来:第二个条件判断当j最后一次j++时,大于k将不会再进入内循环,用此条件取出成功算出的素数,没用成功的已经进入了下一次循环