
水仙花数是指一个3位数,其各位数字的立方和等于其本身。三位的水仙花数共有四个:153,370,371,407。我们可以用程序来找到它们,例如用Pascal语言实现如下:
program shuixianhuashu;
var a, b, c: integer;
begin
for a := 1 to 9 do
for b := 0 to 9 do
for c := 0 to 9 do
if a*a*a + b*b*b + c*c*c = 100*a + 10*b + c then
writeln(100*a + 10*b + c);
end.
或使用另一种方法:
program sxh;
var a, b, c, d: integer;
begin
for a := 100 to 999 do
begin
b := a mod 10;
c := a mod 100 div 10;
d := a div 100;
if b*b*b + c*c*c + d*d*d = a then
writeln(a);
end;
end.
也可以使用C语言实现如下:
#include <stdio.h>
int main(void)
{
int a, b, c;
for(a = 1; a <= 9; a++)
for(b = 0; b <= 9; b++)
for(c = 0; c <= 9; c++)
if(100*a + 10*b + c == a*a*a + b*b*b + c*c*c)
printf("%d%d%d\n", a, b, c);
return 0;
}
这些程序可以找出所有三位的水仙花数,程序逻辑简洁明了,适合初学者理解和学习。