scratch数字之谜——马克思数学手稿问题

很多小朋友都知道马克思,他是德国伟大的思想家、政治家、哲学家、经济学家、革命家和社会学家。主要著作有《资本论》 、《共产党宣言》等。其实马克思同时也是一名数学家,他用数学研究经济,他还认为,一种科学只有在成功地运用数学时,才算达到了真正完善的地步。

file

问题描述:

马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭共花了50先令;每个男人花3先令,每个女人花2先令,每个小孩花1先令;问男人、女人和小孩各有几人?编程,输出全部可能的答案。

解题思路:

首先我们用方程式求解:

设有x个男人,y个女人,则小孩有(30-x-y)人,x、y为正整数 依题意有: 3x+2y+(30-x-y)=50 简化方程式,得出:2x+y=20 所以: y=20-2x

因为无论男人、女人和小孩的数量都只能是正整数,所以我们从x=1开始尝试求解 ①当x=1时,y=18,30-x-y=11 ②当x=2时,y=16,30-x-y=12 ③当x=3时,y=14,30-x-y=13 ④当x=4时,y=12,30-x-y=14 ⑤当x=5时,y=10,30-x-y=15 ⑥当x=6时,y=8,30-x-y=16 ⑦当x=7时,y=6,30-x-y=17 ⑧当x=8时,y=4,30-x-y=18 ⑨当x=9时,y=2,30-x-y=19 ⑩当x≥10时,y≤0,不符合题目要求

下面我们通过Scratch来进行求解:

首先我们建立一个链表来存放所有计算出的结果,然后我们依然设定x为男人数,y为女人数,则孩子数量为30-x-y;

根据题目,如果假设所有人都是男人时,则男人最大数量是16人(如果男人数量达到17人以上,则总花费会超过50),同理,如果假设所有人都是女人时,则女人最大数量是25人。

我们可以很轻松地写出程序:

file file

执行程序,看看我们得出的结果是不是和我们逐一推导出来的完全一样呢?

想一想,程序中的循环次数为什么是16次和25次,如果循环次数更多是不是可以呢?为什么?

黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代