#include <iostream>
#include <cstdio>
using namespace std;
typedef __int64 LL;
LL ar[11];
LL standard = 2147483647;
LL arr[100];
void creat()
{
ar[0] = 1;
for(int i=1;i<10;i++)
ar[i] = ar[i-1]*i;
}
int recreat()
{
int k = 0;
for(int i=1;i<1000000;i++)
{
LL sum = 0;
LL n = i;
bool flag = false;
while(n)
{
int k = n%10;
n/=10;
sum += ar[k];
if(sum>standard) {flag = 1; break;}
}
if(!flag&&sum==i) arr[k++]= i;
}
return k;
}
int main()
{
creat();
int k = recreat();
for(int i=0;i<k;i++)
printf("%I64d\n",arr[i]);
//system("pause");
return 0;
}
hdu 2212
最新推荐文章于 2019-02-28 19:11:31 发布