AcWing 4722. 数列元素
原题链接
简单
作者:
Felix_16
,
2022-12-01 13:24:32
,
所有人可见
,
阅读 125
题目描述
在一个数列 a1,a2,a3…,其中 ai=1+2+…+i。
给定一个整数 n,请你判断是否存在一个数列中的元素 ai 恰好等于 n。
输入格式
一个整数 n。
输出格式
如果满足条件的数列元素存在,则输出 YES,否则输出 NO。
数据范围
前 4 个测试点满足 1≤n≤4。
所有测试点满足 1≤n≤500。
样例
输入样例1:
1
输出样例1:
YES
输入样例2:
2
输出样例2:
NO
输入样例3:
3
输出样例3:
YES
C++ 代码
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int sum = 0;
int res = false; // 默认为false,后面如果是有解就更新为true
for(int i = 1,j = 1;i <= 100;i++,j++)
{
sum += j;
if(sum == n)
{
res = true; // 在for循环内更新res即可,在for循环外进行输出YES或NO 这样就可以避免最终输出多个YES或NO的情况
break;
}
}
if(res == true)
{
cout << "YES" << endl;
}
else
{
cout << "NO" << endl;
}
return 0;
}