Problem 15

こんな感じの問題割と最近,たけしのコマ大にもでたよね.大学入試だったかな?組合せ問題ですね.

def ncr(n,r):
    if r > n:
        return 0
    if r == n:
        return n
    num = eval('*'.join([str(x) for x in xrange(r+1,n+1)]))
    den = eval('*'.join([str(x) for x in xrange(1,n-r+1)]))
    return num/den

nCrが綺麗に実装できました!wあれ?なにしようとしてたんだっけ?まいっか.
何気にeval多用しているけど,使ったのが今日が初めてだったりする…
ちょっと怒られる時はあるけど,便利すぎる…だめだこれに慣れたらダメな匂いがする.