煎鸡蛋问题

来自计算思维百科
跳转至: 导航搜索
煎鸡蛋问题.png

小明的妈妈是一个贤惠的人,做饭很快而且很好吃。

有一次小明问妈妈:“妈妈,你煎一个鸡蛋要多少时间啊?”

妈妈回答说:“两分钟,正反面各一分钟。”

小明又问:“那平底锅每次最多能同时煎多少鸡蛋?”

妈妈说:“两个。”

小明算了一下,说:“那你煎三个鸡蛋要四分钟?”

小明的妈妈说:“你再想想,我最快要花多少时间煎三个鸡蛋?”

解决方案-合理调度法

从问题可以得出几个条件:

(1)煎一个鸡蛋要两分钟,正反面各一分钟;

(2)平底锅一次能同时煎两个鸡蛋;

答案是三分钟,步骤如下。

第一分钟:先煎1、2号鸡蛋的正面;

第二分钟:取出1号鸡蛋,放入3号鸡蛋,煎正面,同时煎2号鸡蛋的反面;

第三分钟:2号鸡蛋已经煎好,取出;放回1号鸡蛋,煎反面;同时煎3号鸡蛋的反面。

涉及的计算思维

按照正常的思维,先把两个鸡蛋煎好要花两分钟,然后煎第三个鸡蛋又花两分钟,所以一共要四分钟,可是,不知道你们注意到没有,煎第三个鸡蛋的时候,平底锅的使用率是百分之五十,就是还有一半没有利用起来,这并不符合计算机的资源利用原则,这时需要通过计算思维的“调度”思想,充分利用平底锅,减少花费时间,这也是“并行”的思想。