AOJ 組み合わせの数を求めるプログラム

■問題
Structured Program II – How many ways?

nCr を求めるのにitertools.combinationsを使いました。

この関数は、リストから重複しない任意の個数の要素を取り出してくれます。

■プログラム

# 組み合わせの数を求めるプログラム
import sys
import itertools

def main():
    while True:
        data = sys.stdin.readline().strip().split(' ')
        n = int(data[0])
        x = int(data[1])
        
        if n == 0 and x == 0:
            break

        cnt = 0
        for i in itertools.combinations(range(1, n+1), 3):
            if sum(i) == x:
                cnt += 1

        print(cnt)

if __name__ == '__main__':
    main()
Pythonプログラミング物語 © 2016 Frontier Theme