浙江 2012 · 数学 q12
题解图(原卷截图 · 含答案与官方解析)

文字转写(题面 + 答案)
题面
- 若某程序框图如图所示,则该程序运行后输出的值是____。
答案
本题的知识树
1 概念 · 1 题型 · 2 套路 · 1 易错点 · 最深 2 层。长链是构建期派生的,源文件里只有最小一步。
套路只数循环用到的因子入口只数除数—— 从 起只被除,除数就是 跑过的那几个数
攻略(零基础 → 会做)
一路只被除,除数名单只有 到 · 拦住循环的那个 一次除法都没做 · 最终答案:
冷启动:先把框图翻译成三行字
卷面那张框图在转写时丢了。 题面只剩「若某程序框图如图所示」这一句, 图印在原卷第 3 页右栏。照扫描件逐框读回来,能用的信息就三行:
- 初值:,;
- 循环体:先 ,然后 ;
- 退出条件:判断 ——成立就输出 、结束,不成立就绕回循环体之前。
翻译完就可以把图合上了。往下三条路都只用这三行字。
两个细节要在这一步钉死,它们是这道题唯一的机关:
- 判断框在循环体后面,所以是「先做后判」——循环体至少跑一次, 每一轮的次序永远是「先做除法,再让 加一,最后才判断」。
- 除法用的是本轮的 ,而 在判断之前就已经加过了。 于是触发退出的那个 ,是在本轮除法做完之后才自增出来的,它一次除法都没参与。 换句话说:判断框上写着 ,真正当过除数的却是 这五个数, 而看到退出的那个 已经是 。
第 2 条正是本题唯一容易翻车的地方,也是三条路各自要交代清楚的同一件事。

解法一:照着框图跑五轮,把 和 摞成一张表
最笨也最稳的一条:门槛只有 ,手推五轮就到底了。 每一轮严格按框图的次序走——除法、自增、判断,一步都不许调换。
| 轮次 | 本轮的除数(进循环体时的 ) | 轮末的 | 轮末的 | ? |
|---|---|---|---|---|
| 否,绕回 | ||||
| 否,绕回 | ||||
| 否,绕回 | ||||
| 否,绕回 | ||||
| 是,输出 |
第五轮末 ,判断框第一次成立,输出
表格里有两条自查线,抄错一步立刻现形:
- 「本轮的除数」这一列必须是 ,一个不多一个不少,且与轮次 相等;
- 「轮末的 」永远比本轮除数大 。最后一行是 与 —— 这就是判断框拦住的那个 与最后一个除数的差一。
手推的短板也在这里:门槛若不是 而是 ,这条路就废了。下面两条不怕。
解法二:循环不变式——每次走到判断框,都有
不逐轮跑,改找一句每次走到判断框时都成立的话。位置要说死:判断框之前—— 因为退出恰好发生在那里,那句话与退出条件一联立,答案就掉出来。
猜形状。 把上表每一行的「轮末 」与「轮末 」配成一对,只盯同一行里这两个量的关系:
分母 依次是 ,而配对的 是 。于是猜
一步归纳证掉。 第一次走到判断框之前,循环体已跑了一轮:、, 而 ,起点成立。设某次走到判断框时 , 若判断为「否」,则绕回循环体,按框图的次序做两件事:
新的一对是 ,代进那句话:——一模一样。 所以这句话在每一次经过判断框时都成立。
代退出状态。 退出发生在判断为「是」的那一刻,即 第一次成立。 从 起每次经过判断框加一,取值依次是 ,第一次超过 的是 。代入:
这条路的好处是与轮数脱钩:门槛改成 ,前面一个字不用动,末一步换成 。
解法三:只数除数—— 从 起只被除,除数就是 跑过的那几个数
连闭式都不用写。看一眼循环体: 在整个执行过程里只经历一种运算——被除, 而且除数每次都是当时的 。除法就是乘倒数,乘法可交换可结合, 所以做除法的先后次序对结果毫无影响。跑完之后必有
其中 是历次的除数。于是全题只剩一个问题:哪几个数当过除数?
答案是 。这一步全部的承重点是从框图读出来的两件事,先摊开写清:
- (甲) 这一框在循环体里,位置在 之后、判断框之前;
- (乙)判断框在循环体之后(先做后判)。
由(甲):除数就是每轮进循环体时 的值,而 从 起、每轮恰加一次一, 所以历次除数是 这样往下排,不重不漏、不跳号。 由(甲)+(乙):判断框看到的是本轮除法做完、 也加过之后的那个值, 所以「」第一次成立于 ,而这个 是第 轮除法(除以 )做完才被加出来的—— 从来没当过除数,名单到 为止。
这两条缺一不可:若 落在返回箭头上(判断框看到的是加一之前的 ), 就会多跑一轮、名单变成 到 ,输出是 。所以读框图时先把这两框的相对位置抄下来, 再动笔数除数。
于是除数名单恰好是 到 :
认不出 也没关系,这条路要的只是那个乘积。 自查也最省事:名单里有几个数,循环就跑了几轮——五个数、五轮,与解法一的表对得上。
三个提醒
-
判断框上的 不是「跑五轮」的那个 ,两件事只是在这道题里恰好对上了。 真正决定答案的是除数名单,而名单的末尾由「先做后判」定死: 只负责让循环停下,它一次除法都没做。 把 也乘进去会得 ,把 漏掉会得 —— 这两个数都在选择题的干扰项里出现过。
-
框图里两个赋值的先后不能调。 本题是「先除后增」;若把 挪到 之前, 同样跑到 退出,除数名单就变成 ,输出是 。 同一堆框,两个赋值换个次序,答案就换一个。读框图时先把次序抄下来, 再动笔算。
-
问的是 还是 ,看清楚。 本题问「输出的值」,输出框里装的是 , 所以答案是 ,不是最后看到的那个 。 同一套框图换成「输出 」,答案就成了 ——这类题两种问法都常见, 而 与 在退出瞬间恰好差着一层阶乘,认错一个全盘皆错。