project euler problem 32又是暴搜

感觉20到30题都是暴力搜索…………
#include <iostream>
#include <map>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <map>
#include <set>
using namespace std;
int main()
{
    int i,sum=0,sum1,a[10]={1,1,2,6,24,120,720,5040,40320,362880};
    for(i=3;i<=10000000;i++)
    {
        sum1=0;
        int j=i;
        while(j)
        {
            sum1+=a[j%10];
            j/=10;
        }
        if(sum1==i) sum+=i;
    }
    cout<<sum<<endl;
    return 0;
}

你可能感兴趣的:(project euler problem 32又是暴搜)