HDU 2212

题意

求DFS数(其实跟深度优先搜索没有卵关系, 标题党! )
比如145 = 1! + 4! + 5! 那么145就是DFS数…

思路

超级水题, 暴力打表
要记得 0! = 1

AC代码

打表代码:

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int jc[] = {1,1,2,6,24,120,720,5040,40320,362880};

int main()
{
    int sum, n;
    for( int i = 1; i <= 2147483647; i++ )
    {
        sum = 0;
        n = i;
        while( n ){
            sum += jc[n%10];
            n /= 10;
        }
        if( sum == i )
            printf("%d
",i);
    }
    return 0;
}

最后提交

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    printf("1
2
145
40585
");
    return 0;
}

就行了…….

原文地址:https://www.cnblogs.com/JinxiSui/p/9740604.html