水仙花数是指一个 N位数,它的每个位上的数字的 N次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
/*水仙花数*/
#include<stdio.h>
#include<math.h> //后面要使用幂函数
int main(void)
{
int sum,n,i,item;
printf("Enter n: ");
scanf("%d",&n);
for(i=pow(10,n-1);i<pow(10,n);i++){
item=i;
sum=0; //sum应当在此处初始化
while(item!=0){ //item为零时终止
sum+=pow(item%10,n); //sum等于每一个位数的n次方幂之和
item=item/10; //item除10,以求下一位
}
if(sum==i){
printf("%d\n",i);
}
}
return 0;
}