#include using namespace std;

int main() { int n; cin >> n; int a = 1, b = 2; // 初始区间为[1,2] while (a <= n / 2) // a最大为n的一半 { int sum = (a + b) * (b - a + 1) / 2; // 区间和公式 if (sum == n) { cout << a << ' ' << b << endl; b++; // 寻找下一个区间 } else if (sum < n) b++; else a++; } return 0; }

C++ 编程:判断正整数是否可表示为连续正整数的和

原文地址: https://www.cveoy.top/t/topic/oxOb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录