【原创】MATLAB编程--求解水仙花数

来源:互联网 发布:淘宝至宝比官网便宜 编辑:程序博客网 时间:2024/05/29 17:47

【原创】MATLAB编程--求解水仙花数

一 何为水仙花数?

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 +3^3 = 153)

三位的水仙花数共有4个:153,370,371,407;
四位的水仙花数共有3个:1634,8208,9474;
五位的水仙花数共有3个:54748,92727,93084;
六位的水仙花数只有1个:548834;
七位的水仙花数共有4个:1741725,4210818,9800817,9926315;
八位的水仙花数共有3个:24678050,24678051,88593477

二 程序

程序如下:

for m=100:999
    m1=fix(m/100);%求m的百位数字
    m2=rem(fix(m/10),10);%求m的十位数字
    m3=rem(m,10);%求m的个位数字
    if m==m1*m1*m1+m2*m2*m2+m3*m3*m3
        disp(m)
    end
end

 

结果如下:

   153

   370

   371

   407