matlab小程序,输出1-500所有完数,如1+2+3=6

2025-03-13 15:16:40
推荐回答(1个)
回答1:

clear;
clc;
i = 1;
for k = 1:500
sumk = 0;
for m = 1:k/2
if mod(k,m)==0 %取模,即求因子
sumk = sumk+m; %是因子的话相加
end
end

if sumk==k; %比较因子和 和 原始值
y(i) = k; %如果相等 输出
i = i+1;
end
end
y
结果:
y =
6 28 496