【第16届WMO世奥赛全国赛三年级决赛真题】
【第27题】
乐博士发现之前话说得有些满了,没有给自己留任何的余地,明明是数学竞赛,竟然出了道“编程题”!
好在乐博士除了是数学天才外,还是一位计算机天才,C/C++、Java、C#、Scratch……统统不在话下!
我们先看看题目给出的按键功能(使用说明书):
蓝键:按一下输入一个数,再按一下将显示屏数字删除
红键:按一下显示屏数字乘2
黄键:按一下显示屏数字末位消失
输入条件(又称“初始条件”):
按蓝键输入21
程序要求:
操作过程只能按红键和黄键
按键次数不超过6次
输出结果(又称“结束条件”):
屏幕显示数字3
好啦!乐博士已经洞悉了一切信息,准备开始编程啦!
工作之前,我先“玩一把”:
21的时候,如果按一下红键,屏幕数字变为42
21的时候,如果按一下黄键,屏幕数字变为2
最后一下肯定按的不是红键,那么按的一定是黄键,按之前屏幕上的数字是3X。再然后怎么推理呢?
今天乐博士教大家一种“枚举法”,又称为“遍历法”,也就是把各种可能都列出来,从中找出可行的方法。
从21开始,按红键向上分叉、按黄键向下分叉,因此列出各种情况,有两条“路径”产生3:(乐博士没有把所有的路径画全,请同学们把缺失的部分补齐,还会发现不同的路径)
路径1:红红红红黄黄
路径2:红红红黄红黄
明日题目,提前预热,感兴趣的朋友可以提前试试:
领取专属 10元无门槛券
私享最新 技术干货