分享

韩信点兵算法及其原理

 泛海乘风 2021-04-30

【问题】求最小非负整数N,使他在除以3,5,7以后所得余数分别是a,b,c

【韩信点兵法的口诀】

    三人同行七十稀,五树梅花廿一枝,

    七子团圆整半月,除百零五便得知。

【韩信点兵法口诀的释义】

  前三句意思较为明确,假如说一个非负整数N,在除以3,5,7以后所得余数分别是a,b,c。那么70a+21b+15c 一定是符合题意要求的数。
  第四句字作字解。因为符合要求的最小数N必满足0≤N105,但是 70a+21b+15c 却有可能大于105,甚至大于210,所以还不一定是符合要求的最小数。那么当他大于或等于105时,还必须减去105可能还要再减去105,直到比105小为止,才可以得到符合题意要求的最小数。

【说明】这里1053,5,7的最小公倍数,70a+21b+15c + 105k 也一定满足除以3,5,7以后所得余数分别是a,b,c”

【例如】 a=b=c=270a+21b+15c=21270a+21b+15c-105=107105
而符合题意要求的最小数是 2,即 212-105-105=2.

【再如】 a=2,b=4,c=670a+21b+15c=314314-105=209105
而符合题意要求的最小数是 104,即 314-105-105=104.

【韩信点兵法口诀的原理】
能被5,7除尽数是35k,其中k=2,即703正好余170a 3正好余a
能被3,7除尽数是21k,其中k=1,即215正好余121b 5正好余b
能被3,5除尽数是15k,其中k=1,即157正好余115c 7正好余c
这样——
根据可知 70a+21b+15c 3正好余a
根据可知 70a+21b+15c 5正好余b
根据可知 70a+21b+15c 7正好余c

【韩信点兵法口诀的局限性】只适宜于如题所示的一个极为特殊的问题,要推广到同类问题必须另行制作口诀(即公式)。

【譬如】求最小非负整数N,使他在除以5,7,11以后所得余数分别是a,b,c

【韩信点兵法口诀的原理】
能被7,11除尽数是77k,其中k=3,即2315正好余1231a 5正好余a
能被5,11除尽数是55k,其中k=6,即3307正好余1330b 7正好余b
能被5,7除尽数是35k,其中k=6,即21011正好余1210c 11正好余c

那么 231a+330b+210c 除以5,7,11以后所得余数一定分别是a,b,c

根据【符合要求的最小数N必满足0≤N385】,所以当 231a+330b+210c 大于或等于385时,还必须减去若干个385 直到比385小为止,才可以得到符合题意要求的最小数。

【说明】这里3855,7,11的最小公倍数,231a+330b+210c + 385k 也一定满足除以5,7,11以后所得余数分别是a,b,c”

【例如】求最小非负整数N,使他在除以5,7,11以后所得余数分别是3,5,7

【解】231a+330b+210c=231×3+330×5+210×7=3813.

  因为 3813385,所以减去9385后,得到比385小的 3813-9×385=348 就是符合题意的最小非负整数了。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多