#19273. 连续正整数之和

连续正整数之和

你好!我是你的OI金牌教练。

这一题我们继续挖掘初中代数中的经典知识点——等差数列求和

这道题考察的是双重循环的控制累加器的使用以及对循环边界的分析能力。相比前两题,这道题更侧重于对过程的模拟。


题目名称:连续正整数之和 (Sum of Consecutive Integers)

题目描述

在初中数学中,小杨学习了等差数列求和的知识。他发现,很多正整数都可以表示为 一段(至少2个) 连续正整数之和。

例如:

  • 15=1+2+3+4+515 = 1 + 2 + 3 + 4 + 5 (5个连续正整数)
  • 15=4+5+615 = 4 + 5 + 6 (3个连续正整数)
  • 15=7+815 = 7 + 8 (2个连续正整数)

可以看出,正整数 1515 共有 3 种不同的表示方法。

现在,老师给出一个正整数 NN,请你编写程序帮助小杨找出,有多少种由2个或2个以上连续正整数相加等于 NN 的方案,并将这些方案打印出来。

输入格式

输入一行,包含一个正整数 NN

输出格式

第一部分:按首项从小到大的顺序,输出所有满足条件的连续正整数序列。每行输出一个序列,数字之间用 + 连接,末尾用 = 连接 NN。 第二部分:输出一行,格式为 Result: X,其中 X 是方案的总数。

如果没有满足条件的方案(例如 N=1N=1N=2N=2),则直接输出 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 是 22 的幂次(232^3),数学上无法表示为连续正整数之和。

数据范围

对于 100%100\% 的数据,保证 1N100001 \le N \le 10000