B. 数字的和

    传统题 1000ms 256MiB

数字的和

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述:

在数学中,计算从自然数 a 到自然数 b(a < b)的连续自然数之和,可通过公式 Sum[a, b] = (a + b) × (b - a + 1) ÷ 2 快速求解。例如,计算 Sum[1, 4] 时,代入公式得 (1 + 4) × (4 - 1 + 1) ÷ 2 = 10,与直接累加 1 + 2 + 3 + 4 的结果一致。 本问题是该公式的 “逆问题”:已知连续自然数之和 n(n 为正整数,且 3 ≤ n ≤ 100000000),需要找出所有满足 Sum[a, b] = n 的自然数对 (a, b),并按 a 从小到大的顺序输出。

输入格式:

仅包含一行,为一个正整数 n(即已知的连续自然数和)。

输出格式:

将所有满足条件的自然数对 (a, b) 输出,每行输出一对,两个数之间用一个空格分隔。要求所有输出的数对按 a 从小到大的顺序排列,且题目保证输入的 n 至少存在一对满足条件的解。

样例:

100
9 16
18 22

提示

对于数对 (9, 16):连续自然数 9, 10, ..., 16 的和为 (9 + 16) × (16 - 9 + 1) ÷ 2 = 25 × 8 ÷ 2 = 100,符合 n = 100 的要求。 对于数对 (18, 22):连续自然数 18, 19, ..., 22 的和为 (18 + 22) × (22 - 18 + 1) ÷ 2 = 40 × 5 ÷ 2 = 100,同样符合要求。 且 9 < 18,因此按 a 从小到大顺序输出两对数。

【数据范围】

保证对于 100% 的数据, 3 <= n <= 100000000

2025 CSP-J模拟赛 2

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-10-11 18:00
结束于
2025-11-4 20:00
持续时间
3 小时
主持人
参赛人数
23