这个题目这么写为什么不成功?
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i=1,first=1;
while(i<n)
{
first*=10;
i++;
}
i=first;
printf("i=%d\n",i);
while(i<first*10)
{
int t=i,sum=0;
do
{
int d=t%10;
t/=10;
int p=1,j=1;
while(j<n)
{
p*=d;
j++;
}
sum+=p;
//printf("sum=%d\n",sum);
}
while(t>0);
if(sum==i)
{
printf("%d",i);
}
i++;
}
}