题目:
http://acm.pku.edu.cn/JudgeOnline/problem?id=2027我的代码如下:
#include<stdio.h>
int main(){
int n=1;
while(n){
int i,k=1;
long n,s=0;
scanf("%ld",&n);
if(n==-1) break;
for(i=1;;i++)
{k*=i;
s+=k;
if(s==n) {printf("YES\n");break;}
if(s>n) {printf("NO\n");break;}}
}
return 0;}
提交后提示
错误。
大哥们帮帮忙啊!
#include<iostream>
int main(){
int n=1;
while(n){
int i,k=1;
long n,s=0;
cin>>n;
if(n==-1) break;
for(i=1;;i++)
{k*=i;
s+=k;
if(s==n) {cout<<"YES"<<endl;break;}
if(s>n) {cout<<"NO"<<endl;break;}}
}
return 0;}