欧拉计划第34题
作者:
brivia
,
2024-02-25 18:13:44
,
所有人可见
,
阅读 32
/*
欧拉计划第34题
不知道如何证明上限
枚举只找到了两个。
*/
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL f[10] = {1,1,2,6,24,120,720,5040,40320,362880};
LL factorial(int n)
{
if (n <= 1) return 1LL;
return n * factorial(n - 1);
}
bool check(int n)
{
LL sum = 0;
int back = n;
while (n)
{
sum += f[n % 10];
n /= 10;
}
//cout << sum;
return back == sum;
}
int main()
{
for (int i = 3; i <= 10000000; ++ i)
{
if (check(i)) cout << i << " ";
}
return 0;
}