题目:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153) 水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
程序源代码:
#include<iostream>
using namespace std;
int main()
{
int bai,shi,ge;
for(int i=100;i<=999;i++)
{
ge=i%10;//个位
shi=i/10%10;//十位
bai=i/100;//百位
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
cout<<i<<endl;
}
return 0;
}