这道素数题折磨我好久;)
分析:
1.首先列出m-n之间所有的数字,(包不包含m,n呢?,使用for循环,从m开始列,一直列到n
2.插入一个flag,使用flag标记每一个被列出的数字
3.现在开始检查素数,也就是分解她的因子,假如我要查7的因子,那就从2开始,用sqrt(7)/2,sqrt(7)/2.......sqrt(7)/sqrt(7),
4.如果这时候 整除,那么这个数是素数,所以flag=0,也就是擦去这个数,然后跳出这个循环,回到第一个for继续排查;if not,也就是flag==1,则输出这个数字
#include <stdio.h>
#include <math.h>
#include <stdbool.h>
int main(void)
{
int m,n,i,flag;
scanf("%d %d",&m,&n);
for(;m<=n;m++){
flag=1;
for(i=2;i<=sqrt(m);i++)
if(m%i==0){
flag=0;
break;
}
if(flag)
printf("%d,",m);
}
return 0;
}
你的点赞和评论是我继续更新的动力;)