水仙花数是不是只指3位数,其他位数的没有水仙花数?

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:36:10
水仙花数是不是只指3位数,其他位数的没有水仙花数?
如果其他位数也有,给我说下 公式

所谓“水仙花数”是指一个三个数,其各位数字的立方和等于身。

水仙花数是一个三位数,其各位数字立方和等于数本身。例如,153是一个水仙花数,因为153=。你的任务是判断一个数n是否是水仙花数。

输入
输入文件有若干行,每一行上有一个整数n,(1<=n<=999)。

输出
输出文件有若干行。对输入文件中的每个整数n,在一行上输出该数字,加上“YES”或“NO”,中间用冒号隔离开。如果数n是水仙花数,那么输出“YES”,否则输出“NO”。

输入样例
153100

输出样例
153:YES100:NO

求出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

没错是这样的。

You are right!

只有三位数才有的吧

只能是3位数