3 ms·
At work so I haven’t watched the video yet, but my quick rationale is, Let m = abs(n) It follows n = sign(n) * m We can work with m since sign(n) doesn’t affec
by panda88888 9y ago
At work so I haven’t watched the video yet, but my quick rationale is,
Let m = abs(n)
It follows n = sign(n) * m
We can work with m since sign(n) doesn’t affect the ones digit of n^5. More formally, n^5 = sign(n)^5 * abs(n)^5.
Let m = 10 * b + a, where
b = floor(m/10)
a = m % 10
Essentially we extract the ones digit as a.
m^5 = (10 * b + a)^5
If we expand the terms, only a^5 affects the ones digit. The remaining has at least one 10 as factor.
Quick python script will verify a^5 has a as the ones digit for 0...9.
for a in range(10):
print(pow(a, 5) == a)
Edit: fixed formatting
- iamzlatan 9y agoIt's not exactly the same thing as he does in the video but it's also an interesting approach. Also in the video he assumes n is natural so no need to use sign(n).
- contravariant 9y agoThere are some slight problems with your proof, firstly your proof doesn't really use the fact that you're raising a number to the 5th power, except for the last part and secondly the last part (as it is currently written) will print "false" for all numbers other than 1. Also I don't think you need to bother with the sign of the number. Python is one of the few languages that took the sensible approach and made statements like (a % 10 = (a + 10) % 10) true for all a.
- panda88888 9y agoAh thanks! I was replying on my phone and the mod operator was lost during transcription.