题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
水仙花数字:153、370、371、407
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,n,m;
for(i=100;i<999;i++)
{
j=i%10;
n=i/10%10;
m=i/100%10;
if(i==(pow(j,3)+pow(n,3)+pow(m,3)))
{
printf("%d=%d*%d*%d+%d*%d*%d+%d*%d*%d ",i,j,j,j,n,n,n,m,m,m);
printf("\n");
}
}
return 0;
}