三角数(100分)
计算大于等于n的下一个三角数。所谓“三角数”就是某个数量的点能排列成一个对称三角形,如1、3、6、10、15、21、28、36、45...。
输入一个整数n, n>=1。
输出一个整数m,大于等于n的下一个三角数。注意保证输出结果在整型范围内。
#include <bits/stdc++.h> // 包含所有标准库(实际使用中建议只包含需要的标准库)
using namespace std; // 使用标准命名空间,简化代码书写
int main() {
long long n, i; // 定义长整型变量 n(目标值)和 i(循环计数器)
cin >> n; // 从标准输入读取一个长整型值 n
// 使用循环寻找满足条件的最大 i
for (i = 0; (1 + i) * i / 2 < n; i++) {
// 循环条件:检查三角形数 (1 + i) * i / 2 是否小于 n
// 三角形数是前 i 个自然数的和,公式为 i * (i + 1) / 2
}
// 输出满足条件的最大三角形数 (1 + i) * i / 2
cout << (1 + i) * i / 2;
re