2021-04-09

输出100~200以内的素数
#include<stdio.h>
#include<math.h>
int main()
{
int n, i;
//用n来进行100到200的自动增殖,i用来检测2~sqrt(n)的范围内n是否有因数,因此,i也需要增殖,从2设置起,因为每个合数也都有1这个因数
n = 100;//赋值
while (n <= 200)//n的循环条件,上限200 ,当n>200时,停止循环
{
for (i = 2; i < sqrt(n); i++)
//循环嵌套是先从里面的循环开始的,所以大条件要放在最外面,关于sqrt(n),如果n是一个合数,那它肯定有较大的一个因数
{ //(接上)也会有较小的一个因数,而较小的一个因数,是肯定<sqrt(n)的,所以只要检索<小于sqrt(n)的因数就可以了,以便提高效率
if (n%i == 0)i = n;
//如果n/i=0,那么i是n的因数,那证明n有1和自身以外的因数,那n就不是素数,所以让i=n,跳出小循环,进入大循环,n增殖,重来
else i = i + 1;
//如果不等于0,表明目前的i不是n的因数,自动增殖,再次进入小循环,直到循环完i<sqrt(n)的所有值,如果都不是n的因数
} //(接上)那么证明n是个素数,再次循环i++,使i>sqrt(n)跳出小循环,准备输出
if (i < n)printf(“100~200以内的素数为:%d\n”, n);
//设置一个便于输出n的条件,随便什么条件,只要能输出就行
n = n + 1;
//n自动增殖,再次进入循环,检测下一个n
}
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值