利用C语言,编写一个程序来判断一个数是不是水仙花数。
/*
利用C语言,编写一个程序来判断一个数是不是水仙花数。
“水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
*/
#include <stdio.h>
int main()
{
int tmp;
printf("请输入一个三位数:\n");
scanf("%d", &tmp);
if (tmp / 1000 == 0 && tmp / 100 != 0)
{
//百位数 十位数 个位数
int a = tmp / 100, b = tmp % 100 / 10, c = tmp % 10;
if (a * a * a + b * b * b + c * c * c == tmp)
{
printf("该是位水仙花数!");
printf("百位数%d ", tmp / 100);
printf("十位数%d ", tmp % 100 / 10);
printf("个位数%d ", tmp % 100 % 10);
}
else
printf("该不是位水仙花数!");
}
else
printf("输入错误");
}