标准的水仙花数就是三位数,即将三位数的个位;十位;百位取出来,分别三次方相加,若个位;十位;百位三次方相加与原来的三位数相等,那么这个数就是水仙花数。例如:153=1*1*1+5*5*5+3*3*3。
代码如下:
#include <stdio.h>
int main()
{
int hundred;
int decade;
int digit;
int i;
int sum;
for(i=100;i<1000;i++){
hundred = i/100; //取出百位
decade = ((i/10)%10); //或者( i-(hundred*100))/10 ,取出10位
digit = i%10; //取出个位
sum = hundred*hundred*hundred+decade*decade*decade+digit*digit*digit;
if(i==sum){
printf("%d ",i);
}
}
return 0;
}