#include<stdio.h>
int main()
{
int i,j,k,p,q;
for(p=100;p<=999;p++)
{
i=p/100;
j=p/10%10;
k=p%10;
q=i*i*i+j*j*j+k*k*k;
if(p==q)
{
printf("Flower is %d\n",p);
}
}
return 0;
}//改代码较为局限
#include<stdio.h>
#include<math.h>
int main()
{
int i=0;
for(i=0;i<100000;i++)
{
int n=1;
int sum=0;
int temp=i;//用临时变量可以不改变i的值,避免死循环
while(temp/=10)
{
n++;
}//求i的位数是多少
temp=i;
while(temp)
{
sum+=pow(temp%10,n);
temp/=10;
}//求每位数的位数的次方之和
if(i==sum)
{
printf("%d ",i);
}//比较并打印
}
return 0;
}//改代码就较为通用