新手之家 │有问必答│     我要上雅虎首页    我也使用这个模板 http://i.cn.yahoo.com/chingbook 复制 收藏

JackLin
JackLin JackLin JackLin
  • 当前所在地:中国 台湾 台中市
  • 出生地:中国 台湾 台中市
  • 最高学历:本科
  • 血型:O型 身高:171-175 CM

JackLin不在你的朋友圈

更新时间:2008年7月05日 注册时间:2007年5月

访问量

17,178

博客文章分类

平时笑笑说,急时慢慢言,气时轻轻讲! 回复查看更多

[精] 韩信点兵(中国剩余定理)
2007-08-26 00:52:46 本文已公布到博客频道校园·教育分类

有网友问到:三数剩二,五数剩三。七数剩二,是什么数字?

让我想起了小学在学习最小公倍数时练习的「韩信点兵」题目,后来在高中时又学习了「中国剩余定理」(Chinese Remainder Theorem),这道题正是古书「孙子算经」里头的题目。

当时老师讲解,真的也听不太懂,现在我尽量用浅显的方式表达出来。

首先各位要先有个概念:假如把10个1元硬币分成三堆,最后会剩几个?答案是1个。把20个1元硬币分成三堆,硬币会剩几个?答案是2个。所以我们知道硬币变成2倍,余数也会变成2倍。

另外再加个概念:10为3的倍数多1,却是5的倍数;12是5的倍数多2,却是3的倍数。当我们把10和12两数相加以后,这个新数22就可以同时满足3的倍数多1与5的倍数多2这两个条件。

了解这两个概念以后,就开始来破解古人设计的题目啦!

首先求3的倍数多1,并同时是5和7的倍数,此数肯定是35的倍数,得之最小为70。但是我们要的是3的倍数多2,因为已经懂了第一个概念,那就乘以2吧,得一数140。

其次求5的倍数多1,并同时是3和7的倍数,此数肯定是21的倍数,得之最小为21。但是我们要的是5的倍数多3,同理,那就乘以3吧,得一数63。

最后求7的倍数多1,并同时是3和5的倍数,此数肯定是15的倍数,得之最小为15。但是我们要的是7的倍数多2,同理,那就乘以2吧,得一数30。

藉由第二个概念,我们将140、63、30相加,得一数233,验算结果没错。嘿嘿,这个数就是其中一个答案。

当然不只这一个答案呀!

我们刚刚使用了三个步骤求出三数相加得233,但是还有一个情况没考虑进去,就是同时是3、5、7的倍数,得最小为105。233同时加减此数,并不会影响结果。

233-105=128,128-105=23,还有233+105=338,338+105=443......,都可以符合题目要求。

这类题型必须满足一个特殊条件才可以使用上述方法,就是这些除数(几个一数)必须两两互质(最大公因数等于1)才行喔!

 

最近更新时间:2008-02-03 09:32:45 浏览数(72)

发表评价

(2)(0)

评论

(7 )

按时间顺序查看 | 按时间倒序查看

您是研究数论的吧?

2008-02-03 09:32:45

晕~~看得我头晕~~~晕~~~的~~

2007-09-23 00:16:46

我一见数字就晕头转向啦
不过如果从小学开始
数学都用文言来教
我相信我的数学成绩会光彩一点

2007-08-28 09:18:25

不愧是学数学的啊! 我看的头都大了,太乱了!看来聪明离我是很遥远啊!

2007-08-27 11:38:55

你喜欢数学是理科毕业的吧

2007-08-26 19:17:56

在《孫子算經》裡(共三卷,據推測約成書於西元400年左右),下卷的第26題,就是鼎鼎有名的「孫子問題」:

今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?
將它翻譯成白話:這裡有一堆東西,不知道有幾個;三個三個去數它們,剩餘二個;五個五個去數它們,剩餘三個;七個七個去數它們,剩餘二個;問這堆東西有幾個?精簡一點來說:有一個數,用 3 除之餘 2;用 5 除之餘 3;用 7 除之餘 2;試求此數。

用現代的記號來表達:假設待求數為 x,則孫子問題就是求解方程式:

x=2 (mod 3)
x=3 (mod 5)
x=5 (mod 7)

其中 a=b (mod n)表示 a-b 可被 n 整除。

這個問題俗稱為「韓信點兵」(又叫做「秦王暗點兵」、「鬼谷算」、「隔牆算」、「剪管術」、「神奇妙算」、「大衍求一術」等等),它屬於數論 (Number theory) 中的「不定方程問題」(Indeterminate equations)。

孫子給出答案: 答曰:二十三
事實上,這是最小的正整數解答。

他又說出計算技巧:
術曰:三三數之剩二,置一百四十;五五數之剩三,置六十三;七七之數剩二,置三十。并之得二百三十三。以二百一十減之,即得。凡三三數之剩一,則置七十;五五數之剩一,則置二十一;七七數之剩一,則置十五。一百六以上,以一百五減之,即得。

這段話翻譯成數學式就是:
x=70X2+21X3+15X2-105X2=23
此數是最小的正整數解。

為了突顯 70、21、15、105 這些數目,明朝的程大位在《算法統宗》(1592年)中,把它們及解答編成歌訣:
三人同行七十稀,五樹梅花廿一枝,
七子團圓正半月,除百零五便得知。

另外,在宋代已有人編成這樣的四句詩:
三歲孩兒七十稀,五留廿一事尤奇,
七度上元重相會,寒食清明便可知。

這些都流傳很廣。

「上元」是指正月十五日,即元宵節,暗指「15」;
「寒食」是節令名,從冬至到清明,間隔105日,這段期間叫做「寒食」,故「寒食」暗指「105」。

2007-08-26 17:52:51

23才是第一个数字。
简单的方法是我们先求‘三数剩一,五数不剩,七数不剩’的解答。我们可以从三十五的倍数中,找‘三数剩一’地数目,譬如说,七十就是一个解答。再求‘三数不剩,五数剩一,七数不剩’的解答。在二十一的倍数中,二十一本身就是一解。另外求‘三数不剩,五数不剩。七数剩一’的解答。在十五的倍数中,十五本身适合‘七数剩一’。七十,二十一,十五这三个数是解答这个问题的关键。这类数目可以定名为‘用数’。把这三个用数分别乘剩数,二,三,二,然后相加。七十乘二得一百四十,二十一乘三得六十三。十五乘二得三十。一百四十,六十三,三十,三数相加得二百三十三。这就是原题的一个解答。另外用三乘五再乘七得一百零五,二百三十三加减一百零五的倍数就可以得到所有解答了。所以算出二十三,一百二十八等等都是此题的答案。”

2007-08-26 10:01:47

第一页 | 上一页 | 1 | 下一页 | 最末页
登录雅虎空间,给你喜欢的博客发表评论。