• TauZero@mander.xyz
      link
      fedilink
      arrow-up
      6
      ·
      1 year 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.