CSDN2038134574 2024-09-14 16:47 采纳率: 100%
浏览 3
已结题

matlab一个循环问题

刚学matlab,学循环做练习题题目是https://blog.csdn.net/qq_43457539/article/details/106839735
亲和数,两个数真因子之和等于另一个数
然后我就写了一个这样的程序

img

但是正确的结果(我也复制了上面那个帖子里面的程序跑了一下,也对了答案)应该是220,284
我这个跑出来是512?

然后我就把循环删了只留函数,随便计算ysh()的值,然后ysh(28) 29 31 什么的都正常
但是ysh(30)竟然是53 ,实际自己算应该是42

img

但是我找不到这个程序有什么错误,有人可以解答一下吗,谢谢

(注:我自己测试的时候发现我这个程序有bug,就是因数正好是平方根的时候这个会算两次,这个我还没改,不过不影响ysh(30)算错了)

  • 写回答

2条回答 默认 最新

  • micthis 2024-09-14 18:03
    关注

    当i=4时循环条件为真,i=i+1后i=5,sum=sum+5+6,
    当i=5时循环条件还是为真,i=i+1后i=6,sum=sum+6+5,
    6和5都加了两次。
    42再加11不是53?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 已采纳回答 9月14日
  • 创建了问题 9月14日