C语言 求100-200中的全部素数 有几个地方没看明白 帮我解释下
展开全部
先解决为什么要开方这个问题,如判断17是不是质数,17的开方为4点多,我们就用2-4去除17
如果17可以整除4,那它的商也是可以被17整除,它的商肯定是不超过4的整数。
所以我们判断一个数n是否质数,只要用2-这个数的开方去除这个数就可以了。
#include<math.h>
main()
{
int
m,k,i,n=0;
for(m=101;m<=200;m=m+2)
{
if(n%10==0)
printf("\n");
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
//如果2-k之间有一个数可以整除m,就用break跳出循环
if(i>=k+1)
//循环后判断如i值>k,则表示它是循环中途用break跳出循环的,表示这个不是质数
{
printf("%d
",m);
n=n+1;
//把质数的总数+1
}
}
}
如果17可以整除4,那它的商也是可以被17整除,它的商肯定是不超过4的整数。
所以我们判断一个数n是否质数,只要用2-这个数的开方去除这个数就可以了。
#include<math.h>
main()
{
int
m,k,i,n=0;
for(m=101;m<=200;m=m+2)
{
if(n%10==0)
printf("\n");
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
//如果2-k之间有一个数可以整除m,就用break跳出循环
if(i>=k+1)
//循环后判断如i值>k,则表示它是循环中途用break跳出循环的,表示这个不是质数
{
printf("%d
",m);
n=n+1;
//把质数的总数+1
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询