コイン投げに一度勝つと所持金が 2 倍になる。
コイン投げに一度負けると所持金が 1/16 になる。
ギャンブルの終了条件は、以下の通り。
・コイン投げに勝った回数が整数の 2 乗になっている
・コイン投げに負けた回数が整数の 2 乗になっている
・所持金が 0.5 円のような小数混じりの額ではなく、きちんと整数の額になっている
1円を元手として挑戦したハフィスは,儲けた金が 1000 万円以上であるが 1000 億円以下であることしか分からない。
【問】
このとき,ハフィスがコイン投げに勝った回数と負けた回数の考え得る組み合わせのパターン数を答えよ。
R コンソールを電卓代わりに手計算で解く
# 勝ち数と負け数を,Win と Lose で表す
# 1e7 < 2^(Win-4*Lose) < 1e11
# log10(1e7) < log10(2^(Win-4*Lose)) < log10(1e11)
# 7 < (Win-4*Lose)*log10(2) < 11
# 7/log10(2) < Win - 4*Lose < 11/log10(2)
# 23.2535 < Win - 4*Lose < 36.54121
# Win - 4*Lose = 24:36
# Win = 24:36+4*Lose かつ Win, Lose が平方数
# Lose = 1 なら Win = 24:36+4*1 = 28:40 平方数は 36
# 1e7 < 2^(36-4*1) < 1e11
# Lose = 4 なら Win = 24:36+4*4 = 40:52 平方数は 49
# 1e7 < 2^(49-4*4) < 1e11
# Lose = 9 なら Win = 24:36+4*9 = 60:72 平方数は 64
# 1e7 < 2^(64-4*9) < 1e11
# Lose = 16 なら Win = 24:36+4*16 = 88:100 平方数は 100
# 1e7 < 2^(100-4*16) < 1e11
# Lose = 25 なら Win = 24:36+4*25 = 124:136 平方数は ない!
# Lose = 36 なら Win = 24:36+4*36 = 168:180 平方数は 169
# 1e7 < 2^(169-4*36) < 1e11
# Lose = 49 なら Win = 24:36+4*49 = 220:232 平方数は 225
# 1e7 < 2^(225-4*49) < 1e11
# Lose = 64 なら Win = 24:36+4*64 = 280:292 平方数は 289
# 1e7 < 2^(289-4*64) < 1e11
# Lose = 81 なら Win = 24:36+4*81 = 280:292 平方数は ない!
# Lose = 100 なら Win = 24:36+4*100 = 424:436 平方数は ない!
# Lose = 121 なら Win = 24:36+4*121 = 508:520 平方数は ない!
# 以下のプログラムで,上記以外で条件を満たす Lose, Win はない
#for (i in 1:120) {
# Win = sqrt(24:36+4*i^2)
# j = which(Win == floor(Win))
# print(Win[j]^2)
#}
# まとめると,以下の 7 パターン
# 勝ち数, 負け数
# 36, 1
# 49, 4
# 64, 9
# 100, 16
# 169, 36
# 225, 49
# 289, 64