堕落女教师破坏种子:什么是水仙花数字?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 09:24:05

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

给你举例说明

求出100至999之间的所有“水仙花数”
找出100--999之间的所有“水仙花数”。所谓“水仙花数”是指一个三个数,其各位数字的立方和等于身。

解此题的关键是怎能样从一个三位数中分离百位数、十位数、个位数。可以这样做,设该三位数以i代表,由a,b,c三个数字组成。
(1)百位数字a:a=INT(i/100).
(2)十位数字b:b=INT((i-100*a)/10)
(3)百位数字c:c=i-int(i/10)*10.
具体程序如下:
for i=100 to 999
a=INT(i/100)
b=INT((i-100*a)/10)
c=i-int(i/10)*10
if i=a*a*a+b*b*b+c*c*c then print i
next 1
end
其结果为:153\370/371/407

打印出所有的"水仙花数"。所谓"水仙花数"是指一个三位数,其各位数字的立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1^3+5^3+3^3。

http://www.advjava.com/design_patterns/001/932.html