题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
代码实现:
/*打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。*/
#include <stdio.h>
void main() {
int x, y, z;
printf("水仙花数:\n");
for (int i = 100; i <= 999; i++)
{
x = i % 10;//分解出个位上的数
y = i / 10 % 10;//分解出十位上的数
z = i / 100 % 10;//分解出百位上的数
//判断个位的三次方+十位的三次方+百位的三次方等于这个数本身
if (i == x * x * x + y * y * y + z * z * z)
{
printf("%d\n", i);
}
}
}
实现结果: