//水仙花数位数>=3
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void pan(int i)
{
double sum=0,a[100]={0};
int tmp,j=0,k;
double count=1;
tmp=i;
k=i;
while(tmp/10!=0)//判断该数的位数
{
tmp/=10;
count=count+1.0;
}
if(count<3)
{
printf("%d不是水仙花数",i);
}
else
{
while(j<count)
{
a[j]=k%10;
k=k/10;
j++;
}
for(j=0;j<count;j++)
{
sum=sum+pow(a[j],count);
}
if(sum==i)
{
printf("%d是水仙花数",i);
}
else
{
printf("%d不是水仙花数",i);
}
}
}
int main()
{
int i;
scanf("%d",&i);
pan(i);
system("pause");
return 0;
}