水仙花数的定义:
水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
解题思路:
1、我们要写出100~999中的数的每一位数的三次幂并相加。
(1)三次幂可以用库函数double pow(double x,double y)来表示,表示为x的y次幂,引用这个函数时要用头文件math.h
2、判断是否为水仙花数。
#include<stdio.h>
#include<math.h>
int main(int argc, char** argv) {
int i,tmp;
double c,d;
c=0;
d=0;
for (i = 100; i <1000; i++) {
tmp = i;
while (tmp) {
d = tmp % 10;
c = c + pow(d, 3.0);
tmp=tmp / 10;//写出每一位的三次方并相加
}
if (i == c) {
printf("%d ", i);//判断
}
c = 0;
}
return 0;
}