题目描述
打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。
输入
无
输出
输出每一个水仙花数,一个数占一行
#include<stdio.h>
int main()
{
int n=3; //三位数以内
int first = 1;
int i = 1;
while (i < n)
{
first *= 10;
i ++;
}
i = first;
while(i < first*10)
{
int t =i;
int sum = 0;
do{
int d= t %10;
t /= 10;
int p = d;
int j = 1;
while(j < n)
{
p *= d;
j++;
}
sum += p;
}while(t > 0);
if(sum == i)
printf("%d\n",i);
i++;
}
return 0;
}