先安装任意版本matlab
说明:打开matlab,新建一个.m文件,把下面的代码在这个.m文件,文件名保存为perfnum.m
然后在matlab中调用即可,形如:perfnum(1000)
代码如下:
function [v,len] = perfnum(maxscale)
%求maxscale内的所有完全数,
%v存储结果,len是个数
if maxscale<2
len=0;
end
len = 0;
v=[];
for n=2:1:maxscale
sum = 0;
for m=1:1:n/2
if mod(n,m) == 0
sum = sum + m;
end
end
if sum == n
len = len + 1;
v=[v,n];
end
end
-------------------------------------------
输入perfnum(10000)
结果为>> perfnum(10000)
ans = 6 28 496 8128
所以
10000以内的完全数共有4个
6 28 496 8128
参考资料:http://baike.baidu.com/view/19074.htm?fr=ala0_1_1