求下一个阿姆斯特朗数 matlab

阿姆斯特朗数就是各位数字立方和等于其本身,用matlab实现,我的代码如下:functionc=AmsNum_cxd(n)c=n;b=panduan(c);while(b... 阿姆斯特朗数就是各位数字立方和等于其本身,用matlab实现,我的代码如下:
function c = AmsNum_cxd(n)
c=n;
b = panduan(c);
while(b==0)
c= c+1;
b = panduan(c);
end

function b = panduan(n)
sum = 0;
t = (ceil(log10(n))-1);
for i = 1:t
sum = sum + ((mod (n,10^i)-mod(n,10^(i-1)))/10^(i-1))^3;
end
if (sum == n)
b=1;
else b= 0 ;
end

但是有问题,我也是不知道哪里错了,就是调用的时候不出现结果
展开
 我来答
兔子和小强
推荐于2017-09-20 · TA获得超过6946个赞
知道大有可为答主
回答量:3332
采纳率:74%
帮助的人:1388万
展开全部

应该是

t = ceil(log10(n));

你的程序可以简洁些:

function c = AmsNum_cxd(n)
while 1
    s = sprintf('%d', n)-'0';
    if sum(s.^3) == n
        c = n;
        return;
    end
    n = n+1;
end
end
匿名用户
2014-10-13
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式