解题思路:
1、水仙花数:
一个三位数,各位数字的立方和等于该数本身(严格来说3位数的3次幂数才称为水仙花数,其他位数叫自幂数)
如;153 = 1^3 + 5^3 + 3^3,则153是一个“水仙花数”。
2、判断水仙花数:
该数是一个三位数;
将该三位数个位、十位、百位分离出来;
判断该三位数是否等于各位三次方之和。
具体代码:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int i;
int j;
printf("0-999之间的水仙花数有:\n");
for (i = 100; i < 1000; i++){
int sum = 0;
j = i;
while (j){
sum = sum + (int)pow(j%10,3);
j = j / 10;
}
if (sum == i&&sum>100){
printf("%d ", sum);
}
}
printf("\n");
system("pause");
return 0;
}