またまた数字のトリビアです

解説動画はこちら



まず最初のトリビアは
数字のトリビア.016


一人につき50人の知り合いがいるとして
それを6人まで巡ると地球の人口を超えるというものです。

50を人数の数だけ掛け合わせれば答えが出ます。

コードは
p = 50
for i in range(1,7):
    print('{0: 12}'.format(p ** i))
50
2500
125000
6250000
312500000
15625000000

はい見事に150億となり地球の70億人を越えました。
30人の知り合いでも7億となり日本の人口を越えます。

前に
「水曜日のダウンタウン」で
明石家さんまさんの知り合いそうな人に手紙を送り、
それを繰り返すことで何人たどればさんまさんにたどり着けるかを
検証した際は7人くらいだと思いました。

友達の友達は・・・
を6人繰り返せば
世界中の人と繋がる可能性があるわけです。

これを6次元の隔たりと言うとか言わないとか。
あのGREE社の語源ですね。

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

ちょっとロマンティックな関数が有ります。

それをPythonで再現します。

数学の方の関数を描画するのに
Sympyというのを使います。

from sympy.plotting import plot_parametric
from sympy import Symbol , cos ,sin

def draw_heart():
    t = Symbol('t')
    x = 16 * sin(t) ** 3
    y = 13 * cos(t) -5 * cos(2 * t) -2 * cos(3 * t) - cos(4 * t)
    plot_parametric(x,y,autoscale=True , title='heart' , show=False).show()

draw_heart()

結果は:
heart

なかなか綺麗なハートになりますね。
Sympyは数学的な計算を描画させたりできるので
高校生とかにはちょうどいいかもしれません。


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

平方数
その数値を掛け合わした結果と
その数値の個数,1からの奇数を足した結果が同じになります。

コードは
for i in range(1,21):
    print('{0:02} ** 2'.format(i) , i ** 2)
s = [a for a in range(1,1000,2)]
for i in range(1,21):
    print(i,sum(s[0:i]))

どちらとも同じ結果になります。

1 1  1
2 4  1+3
3 9  1+3+5
4 16 1+3+5+7
5 25 1+3+5+7+9

不思議ですね。
こんな法則があるんです。

はい、次は
数字のトリビア.019

なんとも不思議な計算結果ですね

コードは
for i in range(1,11):
    res = 49 ** i
    print('{0:017}'.format(res) , str(res)[len(str(res))-2:])

結果は:
00000000000000049 49
00000000000002401 01
00000000000117649 49
00000000005764801 01
00000000282475249 49
00000013841287201 01
00000678223072849 49
00033232930569601 01
01628413597910449 49
79792266297612001 01

1から10乗までかけてみました。

確かに奇数乗は末尾が49
偶数乗は末尾が01になりますね。

これを発見した人
相当暇人なんだろうなーと思うトリビアですね。

最後のトリビアは
数字のトリビア.020

単に365回101%かけ続けるだけですが
プログラムなら一瞬です。
1.01 ** 365
37.78343433288728

1日1%成長できるとすると
1年後には約38%成長できることになります。
R天のM谷さんが言っていたとか言わないとか。

ライバルは「昨日の自分」
これを常に心がけたいものです。

今回のトリビアはここまでです。