冷启动:先把框图翻译成三行字
框图看着唬人,能用的信息只有三行:
- 初值:S=1,k=1;
- 判断框(注意它在循环体前面):k>a?成立就往下输出 S、结束;不成立就进循环体;
- 循环体:S=S+k(k+1)1,然后 k=k+1,绕回判断框。
翻译完就可以把图合上了——剩下的全是求和的事。
先钉死两件事,两条路都靠它
第一,判断框在循环体前面,是「先判后做」。 这一点决定了循环体有可能一轮都不跑
(若一上来就 k>a)。与「先做后判」的框图不同,那种至少要跑一轮。
第二,循环体到底跑了几轮、加进去的是哪些项。 k 从 1 起,每轮末加 1;
当 k 涨到 a+1 时判断 k>a 首次成立、退出。所以循环体恰好跑了
k=1, 2, …, a
这 a 轮,每轮把 k(k+1)1 加到 S 上。于是程序输出的是
S=1+k=1∑ak(k+1)1=1+1×21+2×31+⋯+a(a+1)1.
顺带把最爱设的那个坑挡掉:退出时 k=a+1,而题目问的是 a。
本题里 a=4、退出时 k=5——5 正好是选项 B。看到 5 就填 B 的人,
填的是计数器的终值,不是题目问的那个 a。
解法一:裂项相消求出闭式,再解一个方程
a 是字母,逐轮跑是跑不完的。这时候就该求通项——而这个和式恰好是最标准的一条裂项和。
第一步:把每一项拆成两个数的差
k(k+1)1=k1−k+11.
拆完立刻通分验一次(十秒钟,能挡住系数与符号两类错):
k1−k+11=k(k+1)(k+1)−k=k(k+1)1✓
第二步:相加,中间的项两两抵消
把消项过程写出来,别心算:
k=1∑ak(k+1)1=(11−21)+(21−31)+⋯+(a1−a+11).
21 一正一负、31 一正一负……中间每一个都出现两次且反号,全部划掉。
这里是错开一位,所以只剩头一项与尾一项(错开两位才会剩下四项):
k=1∑ak(k+1)1=1−a+11.
拿 a=1 兜个底:左边 =1×21=21,右边 =1−21=21 ✓。
第三步:加上初值那个 1
S=1+(1−a+11)=2−a+11.
第四步:解方程
2−a+11=59 ⟹ a+11=2−59=51 ⟹ a+1=5,
a=4, 选 A

上块把「裂项相消」这四个字翻成了看得见的东西:k(k+1)1 就是数轴上
k+11 与 k1 之间那一段的长度。四段首尾相接,
中间那些端点(21、31、41)既是前一段的左端又是后一段的右端——
这就是「两两抵消」。拼起来是从 51 到 1 的一整段,长度 1−51=54。
顺便回答「为什么不用担心还有别的解」
S(a)=2−a+11 里,a 越大,减掉的 a+11 越小,所以 S 随 a 严格递增,
方程至多一个解。下块画的正是这件事:八个点一路上升、越升越慢,
横线 S=59 只可能穿过其中一个。
顺带看一眼那条 y=2 的灰虚线:a+11>0 恒成立,所以 S<2 永远成立,
2 是够不着的上界。这也解释了为什么四个选项挤成一小堆——
a 取 4 到 7,S 只在 59=1.8 与 815=1.875 之间挪动。
靠眼力估、靠感觉猜,在这里一点用都没有;只能老老实实解方程。
解法二:不求通项,照着框图跑,跑到 59 为止
上一条路要先会裂项。这一条路什么技巧都不用:S 每轮加一点,加到 59 就该停了,
数一数停在第几轮即可。关键只有一句——加的是本轮的 k 对应的那一项,加完 k 才自增。
| 第几轮 | 本轮用的 k | 本轮加上 k(k+1)1 | 轮末的 S | 轮末的 k |
|---|
| 起点 | —— | —— | 1 | 1 |
| 1 | 1 | 1×21=21 | 1+21=23 | 2 |
| 2 | 2 | 2×31=61 | 23+61=35 | 3 |
| 3 | 3 | 3×41=121 | 35+121=47 | 4 |
| 4 | 4 | 4×51=201 | 47+201=59 | 5 |
第 4 轮末,S 第一次达到 59。
从「停在第 4 轮末」倒推 a
程序要在这一刻退出,得同时满足两件事:
- 前四轮都没退出:k=1,2,3,4 时判断 k>a 都不成立,即 a≥4;
- 第五次判断退出:k=5 时 k>a 成立,即 a<5。
两条夹起来,4≤a<5,而 a 是选项里的整数,所以
a=4, 选 A
这条路的两个提醒
- 别把退出时的 k=5 当答案。 输出的是 S,问的是 a,而计数器的终值是 a+1。
5 就摆在选项 B 上等着。
- 表里那一列 S 其实已经把答案的形状写出来了:23,35,47,59
分别是 2−21、2−31、2−41、2−51。
手推到第三轮就该看出规律——这正是解法一那条闭式,只是从数据里读出来的。
两条路怎么选
| 解法一(裂项求闭式) | 解法二(照着框图跑) |
|---|
| 要会什么 | 把 k(k+1)1 拆成差 | 什么都不用会,只要会加分数 |
| 轮数多了怎么办 | 不受影响,闭式一步到位 | 加不动;本题只有四轮才划算 |
| 最容易翻车的地方 | 剩几项数错、系数丢掉 | 把退出时的 k 当成 a |
| 附赠什么 | 单调性 + 上界 2,顺便说清解唯一 | 前几项的数据,能反推出闭式 |
考场上本题轮数很少,解法二更快;但只要把 59 换成一个大一点的数
(比如 5099),解法二立刻加不动,而解法一原封不动照用。
稳的做法是先手推两三轮看出规律,再用闭式收口。
一句话带走
框图题的难点从来不在框图:翻译成「初值 + 循环体 + 退出条件」三行字之后,
剩下的是纯粹的求和问题。
这道题的求和是最经典的一条:
k(k+1)1=k1−k+11 ⟹ k=1∑ak(k+1)1=1−a+11.
把它想成数轴上首尾相接的几段——中间的端点既是这一段的头又是那一段的尾,
所以一定抵消;剩下的永远是最外面那两个端点。
最后再念一遍那条防坑口诀:输出的是 S,问的是 a,而计数器停在 a+1。