//poj 1775
//sep9
#include <iostream>
using namespace std;
const int MAXN=1000024;
int f[20];
int d[MAXN+10];
int main()
{
int n;
f[0]=f[1]=1;
for(int i=2;i<=9;++i)
f[i]=f[i-1]*i;
memset(d,0,sizeof(d));
for(int s=0;s<(1<<10);++s){
int sum=0;
for(int i=0;i<10;++i){
if((s>>i)&1)
sum+=f[i];
if(sum<MAXN)
d[sum]=1;
}
}
d[0]=0;
while(scanf("%d",&n)==1&&n>=0)
printf("%s\n",d[n]==1?"YES":"NO");
return 0;
}
poj 1775 Sum of Factorials 枚举子集
最新推荐文章于 2021-08-11 08:31:45 发布