用matlab怎么做下面这道题?

任意一个4位自然数,将组成该数的各位数字重新排列,形成一个最大数和一个最小数,之后两数相减,其差仍为一个自然数。重复进行上述运算10次。... 任意一个4位自然数,将组成该数的各位数字重新排列,形成一个最大数和一个最小数,之后两数相减,其差仍为一个自然数。重复进行上述运算10次。 展开
 我来答
飞飞家的图书也爱看书
2015-04-06 · TA获得超过175个赞
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:60.9万
展开全部
function [out1]=m1deng(in)
if (in<10000)&&(in>999)

for i=1:10

A(1)=mod(in,1000);
B(1)=fix(in/1000);
A(2)=mod(A(1),100);
B(2)=fix(A(1)/100);
A(3)=mod(A(2),10);
B(3)=fix(A(2)/10);
A(4)=mod(A(3),1);
B(4)=fix(A(3)/1);

C=perms(B);
D=C(:,1).*1000+C(:,2).*100+C(:,3).*10+C(:,4).*1;
D_min=min(D);
D_max=max(D);

E=D_max-D_min;
in=E
end
out1=in;

else
disp('the input is wrong');
out1=0;
end

end
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式