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

但是正确的结果(我也复制了上面那个帖子里面的程序跑了一下,也对了答案)应该是220,284
我这个跑出来是512?
然后我就把循环删了只留函数,随便计算ysh()的值,然后ysh(28) 29 31 什么的都正常
但是ysh(30)竟然是53 ,实际自己算应该是42

但是我找不到这个程序有什么错误,有人可以解答一下吗,谢谢
(注:我自己测试的时候发现我这个程序有bug,就是因数正好是平方根的时候这个会算两次,这个我还没改,不过不影响ysh(30)算错了)