Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

組合せ。組合せの計算。(Python 3, SymPy: sympy.functions.combinatorial.numbers, nC())

使用するライブラリ

SymPy

Python 3 コード

combinations2.py

#!/usr/bin/env python3


"""(docstring)
"""


from sympy.functions.combinatorial.numbers import nC


def print_math_problems():
    """(docstring)
    """
    print("""問題:

以下の計算をせよ。

(1) 8C3

(2) 10C3

(3) 12C4

(4) 6C1

(5) 5C5
""")


def solutions():
    """(docstring)
    """
    # 数式例:
    # 8C3 = 8P3 / 3! = (8 * 7 * 6) / (3 * 2 * 1) = 56

    print('解答:\n')

    expressions = [nC(8, 3), nC(10, 3), nC(12, 4), nC(6, 1), nC(5, 5)]

    for idx, expr in enumerate(expressions, 1):
        print('({}) {}\n'.format(idx, expr))


if __name__ == '__main__':
    print_math_problems()
    print('-'*79)
    solutions()

出力

$ python3 combinations2.py
問題:

以下の計算をせよ。

(1) 8C3

(2) 10C3

(3) 12C4

(4) 6C1

(5) 5C5

-------------------------------------------------------------------------------
解答:

(1) 56

(2) 120

(3) 495

(4) 6

(5) 1

参考文献 (数式を参考)

関連過去記事

py3math.hatenablog.com

広告を非表示にする