鱼C论坛

 找回密码
 立即注册
查看: 1509|回复: 2

关于for循环嵌套

[复制链接]
发表于 2017-7-5 19:02:13 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 格格不入 于 2017-7-5 21:07 编辑

原题:我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
我写的代码(算法很笨,不要嘲笑)第一个for计算从第1到n-1个的素数和=sum1,第二个for计算从第1到m个的素数和=sum2,sum=sum2-sum1,即最终结果,然而比如输入3 和5 吧,计算的却是第3个到第 4 个素数和!在第二个scanf后加入m = (m+n-2);后(代码中注释掉的那个)能消除这个bug,百思不得其解,求大神指教?
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int n,m;
  5. scanf("%d",&n);
  6. scanf("%d",&m);
  7. //m = (m+n-2);
  8.     int sum = 0,sum1 = 0,sum2 = 0;
  9.         int num;
  10.         int count = 0;

  11. for(num= 2; count < (n-1); num ++)
  12. {
  13.        int i;
  14.       _Bool flag = 1;
  15.         for(i = 2; i < num ;i++)
  16.         {
  17.                 if(num % i == 0 )
  18.                 {
  19.                         flag = 0;
  20.                 }
  21.     }   
  22.                 if(flag)
  23.                 {
  24.                 count ++;
  25.                         
  26.                         sum1  += num;        
  27.                 }        
  28. }               
  29.         for(num= 2; count <= m ; num ++)
  30. {
  31.        int i;
  32.       _Bool flag = 1;
  33.         for(i = 2; i <num ;i++)
  34.         {
  35.                 if(num % i == 0 )
  36.                 {
  37.                         flag = 0;
  38.                 }
  39.     }   
  40.                 if(flag)
  41.                 {
  42.                 count ++;
  43.                
  44.                         sum2  += num;        
  45.                 }        
  46. }
  47.     sum = sum2 - sum1;
  48.     printf("%d",sum);
  49.         return 0;
  50. }
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-7-5 19:51:54 | 显示全部楼层
在线等,急
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-7-5 20:48:23 | 显示全部楼层
30行初始条件加入count=0,这是第二个循环,计数器重新归零。
哼,等那么久没人答,还是我自己找出的bug,悬赏自己拿了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 04:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表