#19273. 连续正整数之和
连续正整数之和
你好!我是你的OI金牌教练。
这一题我们继续挖掘初中代数中的经典知识点——等差数列求和。
这道题考察的是双重循环的控制、累加器的使用以及对循环边界的分析能力。相比前两题,这道题更侧重于对过程的模拟。
题目名称:连续正整数之和 (Sum of Consecutive Integers)
题目描述
在初中数学中,小杨学习了等差数列求和的知识。他发现,很多正整数都可以表示为 一段(至少2个) 连续正整数之和。
例如:
- (5个连续正整数)
- (3个连续正整数)
- (2个连续正整数)
可以看出,正整数 共有 3 种不同的表示方法。
现在,老师给出一个正整数 ,请你编写程序帮助小杨找出,有多少种由2个或2个以上连续正整数相加等于 的方案,并将这些方案打印出来。
输入格式
输入一行,包含一个正整数 。
输出格式
第一部分:按首项从小到大的顺序,输出所有满足条件的连续正整数序列。每行输出一个序列,数字之间用 + 连接,末尾用 = 连接 。
第二部分:输出一行,格式为 Result: X,其中 X 是方案的总数。
如果没有满足条件的方案(例如 或 ),则直接输出 Result: 0。
输入输出样例 #1
输入:
15
输出:
1+2+3+4+5=15
4+5+6=15
7+8=15
Result: 3
输入输出样例 #2
输入:
100
输出:
9+10+11+12+13+14+15+16=100
18+19+20+21+22=100
Result: 2
输入输出样例 #3
输入:
8
输出:
Result: 0
解释:8 是 的幂次(),数学上无法表示为连续正整数之和。
数据范围
对于 的数据,保证 。