MATLAB水仙花数-示例
发布时间:2018-06-30 03:16:04
发布时间:2018-06-30 03:16:04
水仙花数:
(1)题目
若一个三位数自然数的各位数的各位数字的立方和等于该数本身,则称该数为水仙花数,例如,153=1^3+5^3+3^3,所以153为水仙花数,编程计算所有水仙花数.
(2)分析问题:
本题特点在于一个数的各个位数立方和与其本身的关系很明确且很简单,可以用if语句或find语句来完成.如果用if语句,则又有两种选择:1.命一个三位数,再表示其各个位数的数字;2.命各个位数的数字,再表示该三位数.如果用find语句,其思路与if语句类似.
(3)问题求解:
方法一:
for x=100:1:999
a=fix(x/100);
b=fix(x/10-10*a);
c=x-100*a-10*b;
if x==a^3+b^3+c^3
x
end
end
方法二:
for x=1:1:9
for y=0:1:9
for z=0:1:9
if x^3+y^3+z^3==100*x+10*y+z
m=100*x+10*y+z
end
end
end
end
方法三:
shui=100:999;
i=floor(shui/100);
j=floor(mod(shui,100)/10);
k=floor(mod(shui,10));
p=i.^3+j.^3+k.^3;
shui(find(p==shui))
.
(4)结果:
153 370 371 407
(5)结论及分析:
通过实验,结果正确,证明分析无误