连续整数之和
先看问题描述:大部分的正整数可以表示为 2 个以上连续整数之和,如 6=1+2+3,
9=5+4=2+3+4;
给定正整数表示有多少个 2 个以上的连续整数之和。
分析;
假定给定 9,我们先列出如下数字
1,2,3,4,5,6,7,8,9
算法思路,步骤
- 1 开始,1<9,所以,继续加,1+2<9,1+2+3<9,1+2+3+4>9,表示以 1 为开始的,之后无连续的数字之和相加能等于 9。
- 2 开始,2<9,2+3<9,2+3+4=9, 找到一对,返回 true.,count+1
- 3 开始,……
- 4 开始 ……. 4+5=9, 加一
通过观察我们知道,某个数字之后迭代相加,能不能相等给定数字。我们可以用递归实现,下面是代码的实现
1 |
|