各位数字的五次幂
令人惊讶的是,只有三个数可以写成它们各位数字的四次幂之和:
1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44
由于1 = 14不是一个和,所以这里并没有把它包括进去。
这些数的和是1634 + 8208 + 9474 = 19316。
找出所有可以写成它们各位数字的五次幂之和的数,并求这些数的和.
代码演示
#include <iostream>
#include <cmath>
using namespace std;
#define MAX_N 200000
int is_val(int n) {
int x = n, temp = 0;
while (x) {
temp += (int)pow(x % 10, 5);
x /= 10;
}
return temp == n;
}
int main() {
int sum = 0;
for (int i = 2; i < MAX_N; i++) {
if (is_val(i)) sum += i;
}
cout << sum << endl;
return 0;
}