判定被7整除的简易方法

    判断一个数的整除性对于某些除数来说是一件非常容易的事,比如2、3、4、5、6、8、9、10、11、12、15……
    但是对于7来说一直是一个难题,而判定是否被7整除在数字运算中又比较常用。我刚看到一种判定能否被7整除的方法,在这里写一下。
    比如,我们要看86415能否被7整除。首先我们把它从个位开始往左边走两个数字一组划分开来,这样,86415就划分成8 64 15;然后,从左开始“一加一减找余数”:

    6       6
    8  64  15
        1

    看上面,6+8正好被7整除,64-1被7整除,15+6被7整除。
    然后把找到的余数从右往左读出来,616,现在,如果616能被7整除,那么86415就能被7整除。
    如果你还看不出616能被7整除的话,可以继续这样做下去:

    1
    6  16
        2

    现在很明显了吧,21能被7整除。因此,86415就能被7整除。
    下面我再举一个例子:6913580247。

     1       5       2
    69  13  58  02  47
         6       2

    22561

    5       2
    2  25  61
        4

    245能被7整除,因此6913580247能被7整除。

    更加奇妙的是,这个方法对于判定被11整除、被13整除同样有效。
    至于为什么,我没仔细研究,估计和那个有关。看到7、11、13这三个数,你难道还想不起那个吗?
    最后补充:比较流行的割位法对于三位数、四位数比较简便;但位数一多,显然这种方法比较简便。6913580247我们用这种方法只做了两次,用割位法要做9次!

    做人要厚道,转帖请注明出处。

17 条评论

  • xiaoE

    这个方法是不是在高精度里有用?
    对于普通的判断整除性判断这个是不是有点复杂

    回复:嗯,普通的只需要割位法:一个n位数能被7整除当且仅当它的前n-1位减去最后一位的两倍能被7整除。比如,看1001能否被7整除,只需要看100-1×2能否被7整除,继续转化为9-8×2=-7,因此1001能被7整除。

  • april

    关于割位法可否再讲详细点?谢谢

    回复:10a+b能被7整除当且仅当a-2b能被7整除
    网上搜吧,到处都有

  • freeagle

    “一加一减找余数”是什么意思?没看懂……

  • 小岛

    回楼上…看来包括这个方法需要对两位数的7的倍数们很熟悉才好..
    不过在处理超级大的数据面前确实比割位法好很多哎…~
    虽然我还不知道原理…..先记下..

    ps:..solve Ural 1095 的时候突然让我想起 这个帖子了…

  • curioz

    每六个一组,前三减后三,算余数,再算其和即可
    http://hi.baidu.com/curioz/blog/item/931061d066142283a0ec9c38.html

  • 负一的平方根

    7*11*13=1001

  • leonardo

    为什么在算最后一组的22561时 万位的2上加了5 而在算倒数第二组的6913580247时 百位的2却减了2?

  • Justyre

    补充一点:本文Matrix67的方法与割位法只能用来检查整除性,不能检查同余性,即不能检查原数不能被7整除时所得的余数。本文方法解释较复杂,但反例很好找,如100模7余2,而处理后得6模7余6;而对割位法,原因很好解释:(关于模7)10a+b与10a+b-(7a+7b)=3a-6b=3(a-2b)同余,但与a-2b未必同余。

    与此相比,经典的末三位法可以检查同余性,因为1000a+b与-a+b模7同余。

    仅作参考,欢迎讨论。

    谢亦萧

    2012-10-16 @ ChinaAMC

  • Justyre

    补充一点:本文Matrix67的方法与割位法只能用来检查整除性,不能检查同余性,即不能检查原数不能被7整除时所得的余数。本文方法解释较复杂,但反例很好找,如100模7余2,而处理后得6模7余6;而对割位法,原因很好解释:(关于模7)10a+b与10a+b-(7a+7b)=3a-6b=3(a-2b)同余,但与a-2b未必同余。

    与此相比,经典的末三位法可以检查同余性,因为1000a+b与-a+b模7同余。

    欢迎讨论。

    谢亦萧

    2012-10-16 @ ChinaAMC

  • cervelo jersey

    每六个一组,前三减后三,算余数,再算其和即可

  • tuouo

    请问,本题所论述的方法对判定被11整除、被13整除时,
    一加一减出现俩位数(如10),那这个两位数要如何处理?

  • 鸿方非魔杰

    273能被13整除能用这个吗?
    11 5
    2 73 8 11 好像不能吧!
    8 11

    • 雪湿舟

      273不是这样算的。应该这样算。
      +5
      2 73
      -2
      得到的数是52,52/13=4.

      或者是:
      +11
      2 73
      -8
      得到8,11,连起来就是91(要考虑进位),91/13=7

回复给 leonardo 取消回复

8  ×  1  =