巧剥花生

来自计算思维百科
跳转至: 导航搜索
巧剥花生.jpg

从前,有一个大户人家,老爷年龄大了,想从他的两个儿子中选择一个当管家,于是他想了一个问题:有两袋一样多的花生,你们两提回去剥,看看是不是每颗花生仁都是红皮包着的,谁先得到正确答案谁就当这个家。

于是老大马上动手剥花生,一点时间都不敢耽误。他一面剥,一面想着:我只有把这袋花生剥完了,才能得到正确答案,老二干活慢,这个家我当定了!

老二也提着一袋花生回房,他并没有马上动手剥花生,而是在思考:父亲的意图到底是什么?他明明知道我干活不及老大,如果是比剥花生谁快的话,我是不可能赢的,这里面肯定有窍门!

第二天一大早,老大就红着眼睛到老爷房里,手里提着一袋剥完了的花生,显然他一整夜都在剥花生。但是令他以外的是,老二已经提前来了,而且老二的花生根本就没有剥多少。

这时候,老爷开口了:“老二先到的,老二先说吧!”

老二就说:“袋子里装着的都是红皮花生。”

老大听了,心想,咦,他的答案怎么和我的一样;于是老大就向老二嘟囔着:“你是瞎猜的吧,就算你猜对了,也不算什么本事!”,老二是瞎猜的吗?

解决方案

方案1—黑盒测试方法

解决方法:原来啊,老二很聪明,他首先将花生分类:大的、小的、饱满的、干瘪的、好的、虫蛀的等等。然后从每个类别中选取一定数量的花生剥开来看,结果发现所有花生仁都是红皮包裹的。所以我断定,所有的花生都是有红皮包着的。老二是根据每个样本的结果来推测整体结果的,他的做法科学,符合现代软件测试的要求,因为这么多的测试样例不可能每个数据都试一遍,只能从中选取几个有代表性的样例去测就可以了。于是老二当了管家。

涉及的计算思维

老爷的问题是袋子里的花生到底是不是每一粒都是红皮花生?就像计算机里面的软件测试一样。他就想让他的两个儿子做黑盒测试,最快得到测试结果的当家。运用黑盒测试的各种方法,就可以快速地解决问题,它体现的是一种计算思维的仿真特点。