求出所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数。例如153=13+53+3^3。
for (int i = 101; i<500; i++) {
int temp = i; // 因为后面需要用到i的值来进行判断,所以把他的值给一个临时变量,用临时变量来进行运算,那样就不会改变输入值的初值。
int sum = 0;
for (int j = 0; j<3; j++) {
int num = temp%10; // 求的个位置上的数
temp = temp/10; //取值一次减掉一位
sum = sum +powl(num, 3); // include"string.h",powl是次方运算
}
if(i==sum){
printf("%d\n",i);
}
}