例4 水仙花数
题目描述
一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33),找出所有的这种数。
输入格式
没有输入
输出格式
若干行,每行1个数字。
输入样例
无
输出样例
153
* * *
...
* * *
(输出被和谐了)
(1)编程思路1。
对三位数n(n为100~999之间的整数)进行穷举。对每个枚举的n,分解出其百位a(a=n/100)、十位b(b=n/10%10)和个位c( c=n%10),若满足a*a*a+b*b*b+c*c*c== n,则n是水仙花数。
(2)源程序1。
#include
int main()
{
int n, a, b, c; //n、a、b和c分别为三位数自身及其百位、十位和个位
for(n=100 ;n<=999;n++)
{
a=n/100;
b=n/10%10;
c=n%10;
if(a*a*a+b*b*b+c*c*c== n)
printf("%d
",n);
}
return 0;
}
(3)编程思路2。
用一个三重循环