思路:确定上界,10^(n-1)与
的交点,上取整,得出n=6。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define MAX_N 354294
int is_valid(int x){
int value=x,temp=0;
while(x){
temp+=pow(x%10,5);
x/=10;
}
return temp==value;
}
int main(){
int sum=0;
for(int i=2;i<MAX_N;i++){
if(!is_valid(i))continue;
sum+=i;
// printf("%d\n",i);
}
printf("%d",sum);
return 0;
}