comb

ソースコード

from titan_pylib.math.comb import Comb

view on github

展開済みコード

 1# from titan_pylib.math.comb import Comb
 2class Comb:
 3
 4    def __init__(self, n: int) -> int:
 5        self.n = n + 1
 6        table = [[0] * self.n for _ in range(self.n)]
 7        for i in range(self.n):
 8            for j in range(i + 1):
 9                if j == 0 or j == i:
10                    table[i][j] = 1
11                else:
12                    table[i][j] = table[i - 1][j - 1] + table[i - 1][j]
13        self.table = table
14
15    def nCr(self, n: int, r: int) -> int:
16        return self.table[n][r]

仕様

class Comb(n: int)[source]

Bases: object

nCr(n: int, r: int) int[source]