链接 : http://acm.hdu.edu.cn/showproblem.php?pid=2212
本来是想练下DFS的,结果被题目标题坑了(HDU也搞标题党?),更坑的是题还这么水
直接输出四个数,那么大的范围只考察这四个数
#include <cstdio>
using namespace std;
int main()
{
printf("1\n2\n145\n40585\n");
return 0;
}
判断出以上四个数的代码
#include <iostream>
using namespace std;
int fact(int n)
{
if(n==1 || n==0) return 1;
return n*fact(n-1);
}
int main()
{
for(int i=1;i<=10000000;i++)
{
int t=i,sum=0;
while(t)
{
sum+=fact(t%10);
t/=10;
}
if(i==sum) cout<<i<<endl;
}
return 0;
}