求水仙花的问题
这段代码,按道理应该是能解决任何位的水仙花问题,可是运行没有结果,求看看怎么回事#include<stdio.h>
int main()
{
int a;
int cnt=0;
int i,j;
int sum=0,sum1=1;
int m,b;
for(i=100;i<=10000;i++)
{
a=i;
b=i;
while(a>0)//计算i的位数是
{
a /=10;
cnt++;
}
while(b>0)//把这个数每一位都分开,
{
m=b%10;
b=b/10;
for(j=1;j<=cnt;j++)
{
sum1=sum1*m;
}
sum=sum1+m;
}
if (sum==i)
{
printf("%d",i);
}
sum=0;
sum1=1;
cnt=0;
}
}