用matlab 找出1000以内的完全数

2024-11-08 09:50:21
推荐回答(3个)
回答(1):

%这是一个.m文件,其中xx为1000
function
wanq(xx)
x=1:xx
sum1=0;
for
i=1:length(x)
sum=0;
for
j=1:x(i)-1
if
j~=0&mod(x(i),j)==0
sum=sum+j;
end
if
sum==x(i)
sum1=sum1+1;
end
end
wq(sum1)=x(i);
把上面这些粘贴到.m文件中,应该可以,不行你稍微改改就好了,也可以再问我

回答(2):

举个例子,希望有所帮助
代码
clc;
clear
all;
%
下限
n
=
100;
%
上限
m
=
900;
for
s
=
n:m

y
=
0;

for
i
=
1:(s
-
1)

if
mod(s,i)
==
0

y
=
y
+
i;

end

end

if
y
==
s

fprintf('\n完全数:%d\n',
s);

end
end
结果
完全数:496
>>

回答(3):