#include <stdlib.h>
#include <stdio.h>
#include "oj.h"
// 功能:判断输入 nValue 是否为水仙花数,水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
// 输入: nValue为正整数
// 输出:无
// 返回:如果输入为水仙花数,返回1,否则返回0
unsigned int IsDaffodilNum(unsigned int nValue)
{
int weishu = 0;
int ary[10] = {0};
unsigned int i = 0,j = 0;
unsigned int ji = 1,sum = 0;
int temp = 0;
temp = nValue;
while(temp != 0)
{
ary[weishu] = temp % 10;
temp = temp/10;
/*printf("222222222ary[%d] = %d\n",weishu, ary[weishu]);*/
weishu++;
}
//printf("weishu = %d\n", weishu);
for(i = 0; i<weishu; i++) //
{
for(j = 0; j<weishu; j++)
{
ji = ji * ary[i];
}
sum = sum + ji;
ji = 1;
/* printf("ary[%d] = %d, ji = %d\n", i, ary[i], ji);*/
}
/*printf("\n3333333333 nValue = %d , sum = %d\n",nValue, sum);*/
if(nValue == sum)
return 1;
else
return 0;
}