当前位置: 首页 > >

【水枚举】#44 A. Triangular numbers

发布时间:









A. Triangular numbers



time limit per test
2 seconds



memory limit per test
256 megabytes



input
standard input



output
standard output



A triangular number is the number of dots in an equilateral triangle uniformly filled with dots. For example, three dots can be arranged in a triangle; thus three is a triangular number. The?n-th triangular number is the number of dots in a triangle with?n?dots on a side.?. You can learn more about these numbers from Wikipedia (http://en.wikipedia.org/wiki/Triangular_number).


Your task is to find out if a given integer is a triangular number.





Input

The first line contains the single number?n?(1?≤?n?≤?500) ? the given integer.





Output

If the given integer is a triangular number output?YES, otherwise output?NO.





Sample test(s)




input

1




output

YES




input

2




output

NO




input

3




output

YES












问给定一个数n,是否存在一个数i,满足i*(i+1)/2=n。


反正n不大,就从1开始枚举咯~


code:





#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;

bool judge(int n)
{
for(int i=1;;i++)
{
if(i*(i+1)/2==n)return true;
if(i*(i+1)/2 >n)return false;
}
return false;
}

int main()
{
int n; cin>>n;
cout<< (judge(n)?"YES":"NO")< return 0;
}











友情链接: