読者です 読者をやめる 読者になる 読者になる

AstroBlog

公務員試験・院試などの情報や物理・天文、たまにプログラミング系

Project Euler 15「格子経路」をPython3で書いてみた[解答]

SPONSORED LINK

問題文はこちらに日本語訳が載っています。

Problem 15 - PukiWiki

問題文

2×2 のマス目の左上からスタートした場合, 引き返しなしで右下にいくルートは 6 つある.
[f:id:nariagarix:20170305230301j:plain]
では, 20×20 のマス目ではいくつのルートがあるか.

コンビネーション使うだけですね。 こんな簡単でいいの?って感じですが、コードはこんな風になりました。

import math

m = 20

n = math.factorial(m*2)//(math.factorial(m) * math.factorial(m))

print(n)

結果

137846528820

factorial関数を使うとめちゃくちゃ簡単ですね。