HDU 2212 DFS(擬似・DFS)


リンク: http://acm.hdu.edu.cn/showproblem.php?pid=2212
DFSを練習したいですが、問題のタイトルに穴が空きました.さらに問題は水です.
直接四つの数を出力します.あんなに広い範囲はこの四つの数だけを調べます.
#include <cstdio>
using namespace std;
int main()
{
    printf("1
2
145
40585
"); return 0; }
以上の4つの数を判断したコード
#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;
}