数字にまつわるトリビアを
Pythonで検証してみました。


解説動画はこちら




まず始めのトリビアは

数字のトリビア.002

はい、1回折れれば厚さが二倍になるということで
検証したコードがこちら
moon = 0.08 * (2 ** 43)
print('{}万キロ'.format(moon/10/100/1000/10000))
70.368744177664万キロ

飛んでもないですね
43乗すれば月まで届きそうですね

折れればですが

花山薫のピンチ力をもってしても
無理そうな問題です

お次が
数字のトリビア.003
コードは
for i in range(1,10):
    print('3912657840 / {0} '.format(i) , 3912657840%i)

3912657840 / 1 0
3912657840 / 2 0
3912657840 / 3 0
3912657840 / 4 0
3912657840 / 5 0
3912657840 / 6 0
3912657840 / 7 0
3912657840 / 8 0
3912657840 / 9 0

余りがないということは割り切れている
ということで、きれいに割り切れました。

お次は
数字のトリビア.004

これまた割り切り問題ですね

コードは
まずこの9つの数字を使った順列を求めます。
import itertools
seq = ['1','2','3','4','5','6','7','8','9']
per = list(itertools.permutations(seq))
print(len(per))
362880

この順列と同じだけ検証して
合っていれば+1カウントします。

結果は・・
count = 0
for tmp in itertools.permutations(seq):
    num = int(''.join(tmp))
    if num % 3 == 0:
        count+=1
print(count)
362880

全部割り切れました。1-9全部使った9桁の数値は
みな3で割り切れます。

ちなみにこの数は絶対9の倍数になるので
必ず3では割り切れるようになっています。

次は
数字のトリビア.005


コードは
for i in range(1,10):
    print('12345679 * 9 * {0}'.format(i) , 12345679 * 9 * i)

12345679 * 9 * 1 111111111
12345679 * 9 * 2 222222222
12345679 * 9 * 3 333333333
12345679 * 9 * 4 444444444
12345679 * 9 * 5 555555555
12345679 * 9 * 6 666666666
12345679 * 9 * 7 777777777
12345679 * 9 * 8 888888888
12345679 * 9 * 9 999999999

結果は綺麗にそろいます。
元の数字は8だけ抜けてますけどね。

さて最後は
数字のトリビア.006


語呂合わせで
18782 + 18782

この結果は・・・・

37564

ということでした。
良く知られた数字の計算ですね。

また次回も数字のトリビアをお送りします。