Python 3 で数学を。

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

順列。異なるものの順列。(Python 3, SymPy: sympy.functions.combinatorial.numbers, nP())

使用するライブラリ

SymPy

Python 3 コード

permutations2.py

#!/usr/bin/env python3


"""(docstring)
"""


from sympy.functions.combinatorial.numbers import nP


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

(1) 6P3

(2) 10P2

(3) a, b, c, d, e の 5 文字を 1 列に並べるとき、並べ方は何通りあるか。
""")


def solutions():
    """(docstring)
    """
    print('解答:\n')

    print('(1) 6P3 =', nP(6, 3))
    print('')

    print('(2) 10P2 =', nP(10, 2))
    print('')

    print('(3)', nP('abcde', 5))


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

出力

$ python3 permutations2.py
問題:

(1) 6P3

(2) 10P2

(3) a, b, c, d, e の 5 文字を 1 列に並べるとき、並べ方は何通りあるか。

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

(1) 6P3 = 120

(2) 10P2 = 90

(3) 120

参考文献 (数式を参考)

関連過去記事:

py3math.hatenablog.com