https://projecteuler.net/problem=31この問題は母関数が使えます。具体的にはNにする方法の数を求めるとすると、 ここでpは1, 2, 5, ..., 200を取ります。もっと具体的に書くと、 例えば、3にする方法は、1を3枚か1と2を1枚ずつですが、 母関数をこう書くと、 上の2つの方法は、とに対応することが分かります。 上の母関数は、より次数の大きな項を書いても結果に影響を与えないので、 これは、 とシンプルに書けます。 要するに割り算をしていくということですが、この割り算はO(N)で可能で、pは個あるから全体の計算量はになります。 import sys ##…