返回

打印100到200的素数

发布时间:2023-04-14 12:13:08 282

素数:只能被1和它本身的数整除

1.试除法

#include
int main()
{
int i;
for(i=100;i<=200;i++)
{
int j;
for(j=2;j<i;j++)
{
if(i%j==0)
{
break;
}
}
if(j==i)
{
printf("%d ",i);
}
}
return 0;
}

解析:

1.首先,要产生一堆100-200数字的数字,即

for(i=100;i<=200;i++)

2.对于判断该数i是否为素数,如果是,需要我们知道从2到i-1(也就是j)的范围内都不能有能被能整除的可能,直到到达它本身才行,

即如果这个数,如果能被整除则跳出这个小循环

    for(j=2;j<i;j++)
{
if(i%j==0)
{
break;
}
}

这里存在两种情况,一种是不是被本身整除,一种是到了本身的那个数 被本身整除的,如果是被本身整除的 我们就打印出来

if(j==i)
{
printf("%d ",i);
}

2.优化

主要是​因为如果是素数,不可能存在i=a*b的多种答案,如果有则不是素数

#include
#include
int main()
{
int i;
for(i=100;i<=200;i++)
{
int j;
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
{
break;
}
}
if(j>sqrt(i))
{
printf("%d ",i);
}
}
return 0;
}

3.优化

由于偶数不是素数,则可以直接将偶数的部分排除 只算奇数

for(i=101;i<=200;i+=2)


特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
推导汉诺塔问题 2023-04-14 09:14:27