c语言判断区间内素数的个数,c语言中的素数编程题:计算500-800区间内素数个数,并按从大到小的顺序进行加减间隔计算求和。...

满意答案

00e27ab806e4881f8254fe7ae8741834.png

odxalg

2017.01.18

00e27ab806e4881f8254fe7ae8741834.png

采纳率:41%    等级:9

已帮助:313人

123456789101112131415161718192021#include <stdio.h>//计算500-800区间内素数个数,并按从大到小的顺序进行加减间隔计算求和。int main(){    int cnt=0,sum=0,i,j,t=-1;    for (i=17;i>=2;i--)    {        for (j=2;j<=i/2;j++)        {            if (i%j==0) break;//在i/2前只要遇到一个能除尽的数则跳出本层for循环,则j的值一定小于等于i/2        }        if(j>i/2) //i/2前的每个数都除过一遍且不能除尽(即for循环自然结束)则判断j为素数        {            t=-t;            sum=i*t+sum;            cnt++;        }       }    printf("%d %d",cnt,sum);    return 0;}

判断条件的位置放错了,详见注释,上边的代码是修改后的。

这里按照原程序的计算方式,为先减后加的顺序,如2到13间的素数和为:

13-11+7-5+3-2追问: 判断条件的位置怎么错了啊?我后来把if(j>i/2)改为≥就对了

03分享举报

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值