在数论中,水仙花数(Narcissistic number)[1][2],也被称为超完全数字不变数(pluperfect digital invariant, PPDI)[3]、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number)[4] ,用来描述一个N位非负整数,其各个位数字的N次方和等于该数本身。
以上摘自 维基百科
Code by C language :
//水仙花数1,用来描述一个N位非负整数,其各个位数字的N次方和等于该数本身 //日期:2014-1-8 #include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int number; int number_bit , i , j=1 ,k; int number_cal , number_check = 0; //for(k=0;k<99;k++) while(1) { printf("**************************************** please input a number :"); scanf("%d",&number); //number=k; number_cal = number_bit=number; number_check = 0; if(number <0 ) { printf("the number you input is not a Daffodils . "); exit(1); } for(i=0,j=1;number_bit>=10;i++,j++) { number_bit=number_bit/10; } printf(" the number you input has %d bit(s) , ",j); for(i=0;i<j;i++) { int temp; temp=number_cal%10; number_check=number_check+pow(temp,j); number_cal/=10; } if(number_check==number) printf("is a Daffodils ."); else printf("is not a Daffodils ."); printf(" "); } return 0; }
Result view :