不知道你要什么语言的,这里提供C语言的版本如下:
#include
// 判断整数n是否为水仙花数
int isNarcissus(int n)
{
int a, b, c;
if (n >= 100 && n <= 999)
{
a = n % 10;
b = n / 10 % 10;
c = n / 100;
return (a * a * a + b * b * b + c * c * c == n);
}
return0;
}
int main()
{
int a = 153; // 设置待判断的数字
char *info = isNarcissus(a) ? "" : "NOT"; // 调用函数判断a是否为水仙花数
printf("%d is %s a narcissus number.\n", a, info); // 输出结果
return0;
}
For[r = 100, r <= 999, r++,
If[r != (IntegerPart[
r/100])^3 + (IntegerPart[(r - 100*(IntegerPart[r/100]))/
10])^3 + (IntegerPart[
r - IntegerPart[r/100]*100 -
IntegerPart[(r - 100*(IntegerPart[r/100]))/10]*10])^3,
Continue[]]; Print[r]]
153
370
371
407
我这是Wolfram Mathematica程序,其他的你可以网上看看
#include
int main()
{
int a,b,c,d,e;
printf("请输入一个3位整数\n");
scanf("%d",&a);
b=a/100;
c=a%100/10;
d=a%10;
e = b*b*b + c*c*c + d*d*d;
if(e == a)
printf("这个数是水仙花数",a);
else
printf("这个数不是水仙花数",a);
return 0;
}