• TauZero
    link
    fedilink
    arrow-up
    7
    ·
    8 months ago

    There is a mathematical algorithm that proves this works in all cases. However this rule is not actually all that impressive as it appears at first glance! The number of operations (comparisons/subtractions/multiplications) you need to do is equivalent to just long-dividing the number by 7.

    Consider: each operation of the rule removes one digit from the end. But you could just as easily apply the rule like “If the first digit is >=7, subtract 7 from it. Else, subtract the biggest multiple of 7 that will fit from the first two digits.” To skip multiplying, you can use the following jump table: if the first digit is 6, subtract 54 from the first 2 digits, if 5 subtract 49, if 4: 35, if 3: 28, if 2: 14, if 1: 07. That will also remove one digit from the front! But now you are just doing long division.