数学研发论坛

 找回密码
 欢迎注册
查看: 467|回复: 31

[原创] 口口相传的民间数学难题

[复制链接]
发表于 2018-12-27 18:03:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x
口口相传的民间数学难题
东北方言版2段顺口溜,激励一生
给研究数学史的人添加一点趣事
讲个亲历的故事:
上个世纪五十年代初,
在老奶奶讲的故事中,十一二岁的小学生,
听到两个顺口溜,
被好奇心吸引,
组织了课外学习小组,
几个星期的算来算去,终于得到答案,
兴奋不已,激励一生,
至今对当时的解答记忆犹新

1 一段顺口溜(鸡兔同笼) ---与算经类似,更有趣
公鸡兔子四十九,一百条腿还要有,问公鸡多少?兔子多少?

2 另一段顺口溜(百马百砖) --- 百鸡变百马,活灵活现
一百块砖,一百匹马,大马拉仨(sā),中马拉俩(liǎ),小马拉半拉(lǎ),
问:大马多少中马多少小马多少?

虽然解出来了,但使用的是土掉渣的凑数法,一直在思索
1 有什么好方法?
2 哪来的趣题?
现在才有一点深入l理解

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-27 18:13:14 | 显示全部楼层
都是线性方程。问题就是求线性方程组的解。
第一个是 二元一次方程,有两个方程,能确定唯一解。
第二个是三元一次方程,有两个方程,是不定解。

In[3]:= {x,y,z}/.Solve[x+y+z==100&&3x+2y+z/2==100&&0<x&&0<y&&0<z,Integers]
Out[3]= {{2,30,68},{5,25,70},{8,20,72},{11,15,74},{14,10,76},{17,5,78}}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-27 23:26:04 | 显示全部楼层
现在网上的流行做法:

假设鸡和兔都训练有素,吹一声哨,抬起一只脚,100-49=51。再吹哨,又抬起一只脚,51-49=2,这时鸡都一屁股坐地上了,兔子还两只脚立着。所以,兔子有2÷2=1只,鸡有49-1=48只。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-27 23:26:45 | 显示全部楼层
49过于特殊了,添加一只鸡即可得出结论

点评

^_^  发表于 2018-12-27 23:27
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-28 09:03:46 | 显示全部楼层
  1. (*穷举法解决公鸡兔子问题*)
  2. Clear["Global`*"];(*Clear all variables*)
  3. Do[y=49-x;(*由公鸡数量得到兔子的数量*)
  4.    leg=2*x+4*y;(*公鸡与兔子的腿的数量*)
  5.    If[leg==100,Print[{"公鸡数量:",x,"兔子数量:",y}];Break[]],
  6.    {x,1,100}
  7. ]
复制代码


我只会穷举法
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-28 09:13:28 | 显示全部楼层
  1. Reduce[x + y + z == 100 && 3 x + 2 y + z/2 == 100 && 0 <= x &&
  2.   0 <= y && 0 <= z, Integers]
复制代码


(x == 2 && y == 30 && z == 68) ||
(x == 5 && y == 25 && z == 70) ||
(x == 8 && y == 20 && z == 72) ||
(x == 11 && y == 15 &&z == 74) ||
(x == 14 && y == 10 && z == 76) ||
(x == 17 && y == 5 && z == 78) ||
(x == 20 && y == 0 && z == 80)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2018-12-28 09:17:32 | 显示全部楼层
wayne 发表于 2018-12-27 18:13
都是线性方程。问题就是求线性方程组的解。
第一个是 二元一次方程,有两个方程,能确定唯一解。
第二个 ...

都是不定方程,不是一般的线性方程
第一个最多一个解,也可能无解
第二个可能有多个解,也可能无解
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2018-12-28 10:06:44 | 显示全部楼层
本帖最后由 dlpg070 于 2018-12-28 10:22 编辑

我在讲民间数学趣题的历史故事
时间:20世纪50年代初
人物:十一二岁小学生
那时不仅没有 Wolfram语言
Stephen Wolfram本人还没有出生呢
他生于20世纪50年代末(生于1959年8月29日)

这两个题对小学生很难,对成人不难,但耗时间
利用专业数学软件,在21世纪10年代,真是小菜一碟
难度为现在小学奥数题水平
因其趣味性,更多用来做c,c++,java入门例题

关于鸡兔同笼问题太简单问题
我想说,如果不简单,恐怕不一定在民间流传下来
设想,如果做了几天还没有结果,
一个小学生还能坚持做下去吗?
第二个问题复杂多了
但是有了鸡兔的解题经验,
可以转化为49个类似鸡兔问题(小马2匹为一组,给定小马组数,求大马数,中马数)
利用49张答题纸,每张解一道类似鸡兔问题(大马数,中马数)
49张纸,只有6个有解,其余无解
这样一个小学生就解决了2个趣题
要知道在算经中百钱买百鸡,只给出答案,并无解题方法或口诀
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-28 10:59:44 | 显示全部楼层
那时不仅没有 Wolfram语言
Stephen Wolfram本人还没有出生呢
他生于20世纪50年代末(生于1959年8月29日)

哈哈哈。我们前面扯出数学软件是搞着玩的,莫笑。  我在2楼说过,问题本质都是线性方程组的求解。那我再多说几句,免得你不清楚我在表达什么内容。

线性方程组 根据方程的个数和未知数的个数 初步判定为 确定,不定,超定。 深入的话,还得分析方程之间的线性相关性,算出秩是多少,最终才能决定 解之间的 不定 的程度有多高 [用多少个自由参数才能表达通解]。
就拿第二题来说,三个未知数,两个线性无关的方程,那么通解可以用一个自由参数来表达。我现在来手算一下:

$x+y+z==100,3x+2y+z/2==100$, 不妨引入自由参数$t$,其中$z=2t$,解得通解就是:
\[x=3t-100, y=200-5t, z = 2t \]
然后根据$x,y$都大于0,都是整数,得到自由参数$t$的约束就是$34<=t<40$,$t$为整数。 这跟楼上的Mathematica的计算结果完全吻合。

=============
大家可能会说,小学的课程教纲里是没有线性方程的,对,确实是,但是小学奥数是有多元一次方程的[好像还有一元二次方程],而且是基本技能。
至少我那个年代就是,而且我还记得我当时的奥数书就是 单遵教授 写的。

=============
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2018-12-28 14:51:51 | 显示全部楼层
本帖最后由 dlpg070 于 2018-12-28 15:01 编辑
wayne 发表于 2018-12-28 10:59
哈哈哈。我们前面扯出数学软件是搞着玩的,莫笑。  我在2楼说过,问题本质都是线性方程组的求解。那我再 ...


这跟楼上的Mathematica的计算结果完全吻合???
好笑吗?没仔细看吧?
Mathematica的计算好像有bug,他得到7个解,
有一个应剔除
你算的很好,何必扯上他
莫笑
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2019-1-18 09:59 , Processed in 0.062417 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表