妇人洗碗
题目要求:一个妇人在河边洗碗,邻居问:你家里来了多少客人?要用多少碗?
她回答:客人每两位合用1只饭碗,每三位合用1只汤碗,每四位合用1只菜碗,共用了65只碗。她家里究竟来了多少客人?
首先如果我们用小学数学知识去解答这个问题:
这是一个求公倍数的问题,假设妇人家中摆放了很多餐桌,每个餐桌都按照题目中要求的比例为客人配置碗(不能多也不能少),那么我们需要计算就是求2、3、4 的公倍数。 它们公倍数是12,也就是每个餐桌上有12个人,那么在这个餐桌上有饭碗6个(12/2),汤碗4个(12/3),菜碗3个(12/4),合计13个碗。 因为妇人一共洗了65个碗,65是13的5倍,所以妇人家中一共摆了5个餐桌,而每个餐桌12人,所以客人就是12的5倍,为60人!
那么如何通过Scratch来解决这个问题呢? 今天我们尝试穷举法来解代数题,假设妇人家中来了X个客人,那么碗的数量就是:X/2+X/3+X/4=65,我们用Scratch来解决它:
“哇!算的好快呀!” 想一想,我们是不是可以优化下这个程序?
思考一下:为什么变量X初始值可以设定为12,并且每次循环增加12也可以呢?