题目解析
本题我们可以从连续正整数序列长度 m 来入手解题。
题目要求 m > 1,即 m 至少为 2,因此我们可以从 m=2 开始尝试验证,是否存在 m 长度的连续正整数序列之和为 n。
那么如何高效的验证呢?
比如我们已经知道 n=21 的最短连续正整数序列长度 m=2,即21=10+11
但是我们一开始并不能知道m=2长度的连续正整数序列的首项为10,因此我们完全可以从首项为1开始尝试
这明显是一种非常低效率的验证手段,
但是我们观察上图可以发现规律
- [1,2] 的序列和是3
- [2,3] 的序列和是5
- [3,4] 的序列和是7
- ...
- [9,10]的序列和是19
- [10,11]的序列和是21
这些序列和是具备等差特点的,而且差值就是长度m。
其实很容易推导,每当黄色块后移一格,