#include <iostream>
using namespace std; int fact[] = {,,,,,,,,,}; bool boo; void DFS(int time,int sum); int n; int main()
{
//freopen("acm.acm","r",stdin); while(cin>>n)
{
if(n < )
{
break;
}
boo = false;
DFS(,);
if(boo)
{
cout<<"YES"<<endl;
}
else
{
cout<<"NO"<<endl;
}
} } void DFS(int time,int sum)
{
if(time == )
{
return;
}
sum += fact[time];
if(sum == n)
{
boo = true;
return;
}
else if(sum > n)
{
return;
}
else if(sum < n)
{
DFS(time+,sum);
if(boo)
return;
}
sum -= fact[time];
DFS(time+,sum);
}
关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。
技术网站地址: vmfor.com