您的位置:首页 > 其它

online_judge_1038

2015-12-12 14:16 387 查看
#include <iostream>

using namespace std;

int main()
{
int n,t,i;
int a[15];
a[0] = 1;
a[1] = 1;
t = a[1];
i = 1;
do
{
a[i+1] = a[i]*(i+1);
++i;
}while(a[i]<=1000000);
t = i-1;
while(cin>>n)
{
if(n==0)
{
cout<<"NO"<<endl;
continue;
}
for(i=t; i>=0; --i)
{
if(n>=a[i])
n -= a[i];
}
if(n == 0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}


这个题目提交了两次才AC,主要是因为第一次理解错了题目意思。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: