作业帮 > 数学 > 作业

用MATLAB编写程序,找出最小的立方数,使得它各位的排列中五个是立方数.

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/07/05 17:07:07
用MATLAB编写程序,找出最小的立方数,使得它各位的排列中五个是立方数.
立方数 41063625 (3453) 通过排列可以得到两个另外的立方数:56623104 (3843) 和66430125 (4053).实际上41063625是最小的三个(不多不少)排列是立方数的立方数.
找出最小的立方数,其五个(不多不少)排列是立方数.
tic
c={};
d={};
num=[];
n=1;
while(1)
x=sort(num2str(n^3));
ind=find(strcmp(c,x));
if isempty(ind)
c=[c;x];
d=[d;n];
num=[num;1];
else
d{ind}=[d{ind},n];
num(ind)=num(ind)+1;
if num(ind)==5,break,end
end
n=n+1;
end
disp([d{ind};sym(d{ind}).^3]');
toc
[ 5027,127035954683]
[ 7061,352045367981]
[ 7202,373559126408]
[ 8288,569310543872]
[ 8384,589323567104]
Elapsed time is 3.092025 seconds.
三秒钟出答案,这个最小的立方数是127035954683=5027^3
有以上5种排列可以表示为整数的立方