以前、紙を43回折ると月に届くというのを聞いたのを思い出し、じゃあスカイツリーとかエッフェル塔とかは何回で届くんだろうかと思ったので興味本位で計算してみました。
計算にはPython3.5を用いました。
導出
まずは方程式を導きます。
yを紙を折る回数、xを紙の厚さ、hを建物の高さとすると、
h = 2^yx
\log_2h = \log_22^y + \log_2x
y = -\log_2x + \log_2h
コード化
xの単位はミリメートル、hの単位はメートルとします。
import math
def calc(x, h):
# convert kilometers to millimeters
h = h * 100 * 10
y = -math.log2(x) + math.log2(h)
# round up decimal point
return math.ceil(y)
計算
今回は紙の厚さを0.09mmとして計算していきます。スカイツリーやエッフェル塔だけでなく、いろいろな建設物で試してみました。
スカイツリー
完工:2012年5月22日
高さ:634m
特徴:日本で最も高い建設物
届くまでの回数:23回
ピラミッド(クフ王)
完工:紀元前2500年頃
高さ:146m
特徴:14世紀まで最も高い建設物であった
届くまでの回数:21回
エッフェル塔
完工:1889年3月15日
高さ:300m
特徴:フランスの有名な観光地にもなっている建設物
届くまでの回数:22回
上海タワー
完工:2016年3月12日
高さ:632m
特徴:中国で最も高い建設物
届くまでの回数:23回
ブルジュ・ハリファ
完工:2010年1月4日
高さ:828m
特徴:現時点で世界一高い建設物
届くまでの回数:24回
キングダム・タワー(未着手)
完工:2019年を予定
高さ:1008m
特徴:現在建設中の建物で完成すれば世界一高い建設物になる
届くまでの回数:24回
ドバイ・シティタワー(未着手)
完工:2025年に完成予定
高さ:2400m
特徴:計画は進んでいるそう
届くまでの回数:25回
東京バベルタワー(未着手)
完工:未定
高さ:10000m
特徴:日本がバブル時代に考え出した建設物で、建設費が3000兆円、建設期間は150年かかる(到底無理)
届くまでの回数:27回
おまけ
スカイツリーの高さに届くまでの紙を折る回数と紙の厚さとの関係をグラフにするとこんな感じになります。縦軸は紙を折る回数、横軸は紙の厚さです。