酷代码 AI
菜单

一个给定的正整数 ,求出所有的连续的正整数段(每一段至少有两个数),这些连续的自然数段中的全部数之和为 。 例子: ,所以从 到 的一个自然数段为 的一个解。 输入 包含一个整数的单独一行给出 的值( )。 输出 每行两个正整数,给出一个满足条件的连续正整数段中的第一个数和最后一个数,两数之间用一个空格隔开,所有输出行的第一个按从小到大的升序排列,对于给定的输入数据,保证至少有一个解。 样例输入 复制 10000 样例输出 复制 18 142 297 328 388 412 1998 2002

```python n = int(input()) # 使用滑动窗口 left, right = 1, 1 current_sum = 0 while left <= n // 2 + 1: if current_sum < n: current_sum += right right += 1 elif current_sum > n: current_sum -= left left += 1 else: print(f"{left} {right - 1}") current_sum -= left left += 1 ``` [2026-01-04 12:15:55 | AI问答 | 107点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多