题目:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153 = 1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100 - 999个数,每个数分解出个位,十位,百位。
代码
#include<iostream>
using namespace std;
int main(){
for (int a = 100; a <= 999; a++) {
int x, y, z, x1, y1, z1, b;
x = a / 100; //百位
y = a % 100 / 10;//十位
z = a % 100 % 10;//个位
x1 = x * x * x;
y1 = y * y * y;
z1 = z * z * z;
b = x1 + y1 + z1;
if (a == b)
cout << a << endl;
else continue;
}
system("pause");
return 0;
}
结果
运行结果如下:水仙花数为153,370,371,407。
153
370
371
407
请按任意键继续. . .