宜兴市经济技术开发区实验小学

未来课程科技园地

【智园特色 跨学科项目】巧用编程解决数学趣题《以碗知僧》

发布时间:2023-05-05 22:11 栏目:少年科创园 发布单位:宜兴市经济技术开发区 点击量:9817 【公开】


《以碗知僧》出自我国明代珠算家程大位所著的《算法统宗》,题目以歌诀形式呈现,具体如下:巍巍古寺在山中,不知寺内几多僧,

三百六十四只碗,恰好用尽不差争,

三人共食一只碗,四人共尝一碗羹,

请问先生能算者,都来寺内几多僧。

歌诀的大意是:在巍巍群山中,有一个叫都来寺的寺庙,在这个庙里面,3个和尚一起吃一碗饭,每4个和尚又一起喝一碗汤,一共呢用了364只碗,问你这个寺庙里一共有多少个和尚。这个数学趣题出现在小学六年级(不同版本数学书的年级不同),旨在让同学们发现数量关系式,并用合适的方法去解决“以碗知僧”的数学问题,同时在探究的过程中让学生了解数学家的故事,给学生树立学习的榜样,激发学习的兴趣。

课堂上,这个题有很多解法,下面分享几种常见的解法。

分数应用题法

考虑到这个题出在分数混合运算后面,那么我们首先就考虑怎样用刚学的分数混合运算来解题吧。“3人合吃一碗饭”,也就是每人吃1/3碗饭;“4人合分一碗汤”,也就是每人喝1/4碗汤。那么,每个人要使用的碗就是1/3+1/4=7/12只碗。总共使用的碗的数量是364只,那么我们考虑364只碗里包含着多少个7/12,也就意味着有多少个人。即364÷(7/12)=364×(12/7)=52×12=624人。

利用最小公倍数分组

“3个和尚合吃一碗饭,4个和尚合分一碗汤。”我们可以让这些吃饭喝汤的和尚们坐一桌,那么这桌的人数既是3的倍数,又是4的倍数,这样每桌最少有12人,而这12人共用12÷3=4只饭碗,12÷4=3只汤碗,也就是说12个人共用7只碗。那么,当碗用了364只的时候,就意味着共有364÷7=52桌。因为每桌有12人,所以52桌就有12×52=624个人。

列方程解应用题

从题意分析,我们知道“饭碗+汤碗=364只”,我们不清楚的是人数,所以可以设人数为未知数x。那么每3个人一只饭碗,所以饭碗需要x÷3只;每4个人一只汤碗,所以汤碗需要x÷4只汤碗;两种碗合起来一共有364只,列方程为x÷3+x÷4=364。求得X=624。

前面介绍的是数学课堂上的解题妙招,下面分享个用Scratch编程解决的过程。

Scratch编程解决

Scratch的解决是基于数学的基础之上的,我们当僧人的数量是个未知数,我们可以设一个变量”僧人”IMG_256,并将这个人数的初始化值设为0。

“3人合吃一碗饭”就变成了IMG_257

4人合分一碗汤”就变成了IMG_258

然后我们通过循环迭代计算判断碗的数量和是否等于364即可。

IMG_259

完成程序如下:


image.png

image.png

C++编程解决

#include <iostream>

using namespace std;

int main()

{

 for (int x = 1; x <= 1000; x++) {

        if ((float)x/3+x/4==364){

   cout << x;}

}

   return 0;

}

输出结果为:

x = 624

Python编程解决

for x in range(1, 1001):

    if x /3 + x /4 == 364:

        print("x =", x )

输出结果为:

x = 624

总结:编程思维最为简单、直接,遍历即可!



评论

还能输入140

用户评论

版权所有:宜兴市教育局     宜兴市教师发展中心       技术运营支持:天喻教育科技有限公司    
Copyright© 2020 All rights reserved 苏公网安备32028202231255号    苏ICP备17028899号-2
学校地址:江苏省无锡市宜兴市屺亭街道东郊路90号     联系电话:13812258335     联系邮箱:yxjkqsx@163.com