求一个用MATLAB编写求一个“完全数”的程序。。。

所求的安全数越大越好,请问这个值怎么设定?
并且它的因子能显示出来更好,
我是新手,请大家赐教啊~~
最好能有标注啊,这样我才可以看懂啊,呵呵~~谢谢各位大侠咯
最好能把该完全数的所有因式都显示出来。
注:完全数就是一个正整数的所有因子之和等于其本身的两倍的数。
最新回答
ヾ下落不明

2024-11-07 08:38:23

先编一个求因子的程序,然后判断因子之和等于因子之积,
例如6的因子1+2+3=1*2*3,是一个完全数 。

m = input('请输入m的值:')%所求 完全数范围 下限
n= input('请输入n的值:')%所求 完全数范围 上限
for s = m:n
y = 0;
for i = 1:s/2
if mod(s,i) == 0
y = y + i;
end
end
if y == s
s
end
end
计算,1~1000 内有三个完全数:6,28,496:
6=1+2+3;28=1+2+4+7+14;496=1+2+4+8+16+31+62+124+248 。
世界等同你

2024-11-07 11:26:34

clc
clear all
n = input('请输入n的值');%所求 完全数范围 下限
m = input('请输入m的值');%所求 完全数范围 上限
for s = n:m
y = 0;
for i = 1:s/2
if mod(s,i) == 0
y = y + i;
end
end
if y == s
s
end
end