油,我问你,指定了蛋糕体积V和层数n之后,怎样设计蛋糕形状,可以让涂的奶油最少?每一层高度和直径都要是整数。当然,V一定是圆周率的整数倍。”
许申点了点头:“只有是整数才能用搜索法,如果不是整数那就没法做。”
赵岚还没反应过来,他还在比较包子和蛋糕的口感差别。
姜老师说:“就用搜索来做,也就是穷举,把每种高度和直径都试试。当然,要限制搜索范围,要剪枝。高度和直径不能太大,不能让总体积超过V嘛。你在求出一种方案以后,再尝试其他方案时,如果当前用的奶油量已经超过之前方案的,那就直接放弃当前方案,迷途知返。”
昨天的题目还是新手上路的难度,今天就是独孤求败的难度了,大家都在冥思苦想。赵岚对着电脑屏幕凝望许久,像在看情书似的,他皱着眉说:“我这个递归程序怎么总是报错啊。错误202。”
计算机不仅傻,而且特别死板,程序稍微出点错它就罢工,丢出一个错误编号。许申说:“错误编号202代表堆栈溢出。恐怕是你的递归写错了,没完没了地运行,程序爆掉了。”
褚光良叫道:“我是错误201!”
尤南俊也叫道:“我也是错误201!”
许申说:“错误201估计是数组下标越界了。”
赵岚整个上午都没检查出他错在哪儿,要说一个人去纠别人的错往往是火眼金睛,然而要给自己找茬那就难上加难。他哀叫一声:“谁来帮我看看程序啊!班长,帮我看看!”
尤南俊问:“班长?我们什么时候推举班长了?”
褚光良笑道:“他特指我们21班的班长。就是我。”他走到赵岚身边,问:“你还是错误202?”
“是啊,我给你讲讲我的程序是怎么写的。首先,这是个递归函数,假设当前是在尝试第k层蛋糕的直径和高度……”
讲到一半,赵岚大呼一声:“哦,我明白了!原来是这里错了!”
褚光良