韩信点兵问题,即使没有学过数论也能看得懂

这个问题又叫中国剩余问题。传说韩信有一次想知道自己有多少士兵,由于士兵太多了,直接数数太慢太麻烦了。他让所有士兵每5个人排成一排,结果剩余3个人;每7个人排成一排,结果剩余5个人;每11个人排成一排,结果剩余5个人;每13个人排成一排,结果剩余9个人。问韩信一共有多少兵。

有趣的是,类似的问题在《射雕英雄传》里也提到过:瑛姑因为思考这样的问题白了头发,结果还是黄蓉解开了这个问题,并因此顺利地探知了一灯大师的下落。现在考验你是否像黄蓉一样聪明的时刻到了。

答案

698人

说明

5个人一排剩余3个人,说明士兵总数

                                        N=5k+3,k=1、2、3、......        (1)

7个人一排,剩余5个人,说明士兵总数

                                        N=7m+5                                        (2)

                                        m=5n+1                                        (3)

代入(2)得:

                                        N=35n+12=5(7n+2)+2               (4)

比较(1)、(4)两式,会发现矛盾:N分别是5的倍数加3和5的倍数加2。这是不可能的,说明(3)式不成立。所以令

                                        m=5n+2                                        (5)

代入(2)得:

                                        N=35n+19=5(7n+3)+4               (6)

同样与(1)矛盾。以此类推,最终我们发现:

                                        m=5n+4                                        (7)

代入(2)得:

                                        N=35n+33=5(7n+6)+3               (8)

与(1)相容。所以,综合“5个人一排剩余3个人”和“7个人一排剩余5个人”这两个条件我们得出:

                                        N=35n+33

以同样的方法考虑“11人人一排剩余5人”,得到:

                                        N=35(11p+8)+33 = 35*11p + 313

这个数的确同时是35的倍数加33和11的倍数加5。最后,以同样的方法考虑“13个人一排剩余9个人”这个条件,得到:

                                        N=35*11*13q+698

所以士兵的总数是5*7*11*13的倍数加698。

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方林博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值