各位数字的阶乘
145是个有趣的数,因为1! + 4! + 5! = 1 + 24 + 120 = 145。
找出所有各位数字的阶乘和等于其本身的数,并求它们的和。
注意:因为1! = 1和2! = 2不是和的形式,所以它们并不在讨论范围内。
#include<iostream>
using namespace std;
int jc(int k){
int ans = 1;
for(int i=1;i<=k;i++){
ans *= i;
}
return ans;
}
bool check(int k){
int an = k;
int re = 0;
while(k>0){
int t = k%10;
re += jc(t);
k = k/10;
}
if(re == an) return true;
else return false;
}
int main(){
long long sum = 0;
for(int i = 11;i<=9999999;i++){
if(check(i)){
sum+=i;
}
}
cout<<sum<<endl;
return 0;
}