Panik

ickplant@lemmy.world to Lemmy Shitpost@lemmy.world – 1244 points –
144

You are viewing a single comment

This is why I love the number 7. It's the first real prime number. All the others are "first"...1?2?3?5? No, those aren't prime numbers, they're "first" in a long line of not-prime numbers.

Then you get to 7. Is 27943 divisible by 7? If you take away 3 is it? If you add 4 is?

I have no clue, give me 10 minutes or a calculator is the only answer

That's what a real prime number is.

Take the last digit of the number, double it and subtract it from the rest. If that new number is divisible by 7, the original one is as well. For your example:

2794 - 6 = 2788

I know 2800 is divisible by seven, so 2788 is not. Thus 27943 is not divisible by 7.

Quick maff shows that neither subtracting 3 or adding 4 will make the original number divisible by 7. Adding 1 or subtracting 6 will tho.

Our plan to find the witch has worked, boys! Get her!

For divisibility by 13, take the last number, multiply by 4 and add to the rest.

For divisibility by 17, take the last number, multiply by 5 and subtract from the rest.

For divisibility by 19, take the last number, multiply by 2 and add to the rest.

In fact, you can adapt the method to check for divisibility by any prime number k.

Quick check for divisibility: subtract 7 from it. If the new number is divisible by 7, then the original number is too

okay I understand that this works, but is there a mathematical proof for this?

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.

But what about 14, 21 and 28?

14 - 4*2 = 6, not divisible by 7

21 - 1*2 = 19, not divisible by 7

28 - 8*2 = 12, not divisible by 7

Or did I misunderstand the algorithm?

EDIT: I didn't realize that you remove the last digit when subtracting, got corrected in the replies.

Yeah you got it wrong, it's

1 - 4*2 = -7

2 - 1*2 = 0

2 - 8*2 = -14

27943 - 7*1000 = 20943

20943 -7*3*1000 = 20943 - 21000 = -57

-57 is not divisible by 7 therefore 27943 is not divisible by 7.

The other posters algorithm was better, but I was exaggerating - ultimately my point is you have to math it out