#include"bits/stdc++.h"
using namespace std;
set<int>S;
int n;
int f[10];
void init()
{
f[0]=f[1]=1;
for(int i=2;i<10;i++) f[i] = f[i-1]*i;
for(int i=1 ;i < 1 << 10 ; i ++)
{
int s = 0;
for(int j=0 ; j < 10 ; j ++){
if(i >> j & 1)
s+=f[j];
}
S.insert(s);
}
}
int main()
{
init();
while(cin >> n && n>=0)
{
if(S.count(n)) puts("YES");
else puts("NO");
}
return 0;
}
阶乘的和(acwing)
Guess you like
Origin blog.csdn.net/weixin_53013914/article/details/121107776
Recommended
Ranking