用MATLAB的while循环求1-500内的完数,这个程序错在哪里了?请大神指教!

2025-03-13 09:05:11
推荐回答(1个)
回答1:

是说完全数吧,

说几个你的代码里面的问题,

那个j<=i/2的判断是干嘛的,这里是要找小于i的因数,判断应该是 j

那个s应该没次循环都要置零,你写在循环的外面是错的;

那个j=j+1的位置应该在循环的末尾,而不是在开头,要不然比如i=6,那么j=5也会进入循环,但是又加一就变成6了,和i相等了,同时前面的j=0换成j=1.

发一下我修改后的截图(代码就自己看着改吧,就不复制了)