cf 47a
题意
给定一个 n ,问是否存在一个 i ,使得 i * (i - 1) / 2 = = n
分析
直接展开
i2 - i = 2 * n
i2 - i - 2 * n == 0
检查判别式即可
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
scanf("%d" , &n);
printf("%s" , (((int)sqrt((n << 3) + 1) * (int)sqrt((n << 3) + 1) == (n << 3) + 1 && ((int)sqrt((n << 3) + 1) & 1)) ? "YES" : "NO"));
return 0;
}