Python 3 で数学を。

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

合成数。(Python 3, Sympy: composite())

使用するライブラリ

SymPy

Python 3 コード

composite_numbers1.py

#!/usr/bin/env python3


"""(docstring)
"""


import sympy as sym


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

最小の合成数から 100 番目の合成数までを示せ。
""")


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

    # 合成数は、4, 6, 8, 9, ...
    # sym.composite(1) は 4, sym.composite(2) は 6 などと、
    # 1 番目 を指定すれば 1番目の合成数 4 が出力される。
    # 2 番目を指定すれば、2番目の合成数 6 が出力される。
    for n in range(1, 101):
        print('idx {}: {}'.format(n, sym.composite(n)))


if __name__ == '__main__':
    print_math_problem()
    print('-'*79)
    solution()

出力

$ python3 composite_numbers1.py
問題:

最小の合成数から 100 番目の合成数までを示せ。

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

idx 1: 4
idx 2: 6
idx 3: 8
idx 4: 9
idx 5: 10
idx 6: 12
idx 7: 14
idx 8: 15
idx 9: 16
idx 10: 18
idx 11: 20
idx 12: 21
idx 13: 22
idx 14: 24
idx 15: 25
idx 16: 26
idx 17: 27
idx 18: 28
idx 19: 30
idx 20: 32
idx 21: 33
idx 22: 34
idx 23: 35
idx 24: 36
idx 25: 38
idx 26: 39
idx 27: 40
idx 28: 42
idx 29: 44
idx 30: 45
idx 31: 46
idx 32: 48
idx 33: 49
idx 34: 50
idx 35: 51
idx 36: 52
idx 37: 54
idx 38: 55
idx 39: 56
idx 40: 57
idx 41: 58
idx 42: 60
idx 43: 62
idx 44: 63
idx 45: 64
idx 46: 65
idx 47: 66
idx 48: 68
idx 49: 69
idx 50: 70
idx 51: 72
idx 52: 74
idx 53: 75
idx 54: 76
idx 55: 77
idx 56: 78
idx 57: 80
idx 58: 81
idx 59: 82
idx 60: 84
idx 61: 85
idx 62: 86
idx 63: 87
idx 64: 88
idx 65: 90
idx 66: 91
idx 67: 92
idx 68: 93
idx 69: 94
idx 70: 95
idx 71: 96
idx 72: 98
idx 73: 99
idx 74: 100
idx 75: 102
idx 76: 104
idx 77: 105
idx 78: 106
idx 79: 108
idx 80: 110
idx 81: 111
idx 82: 112
idx 83: 114
idx 84: 115
idx 85: 116
idx 86: 117
idx 87: 118
idx 88: 119
idx 89: 120
idx 90: 121
idx 91: 122
idx 92: 123
idx 93: 124
idx 94: 125
idx 95: 126
idx 96: 128
idx 97: 129
idx 98: 130
idx 99: 132
idx 100: 133

関連過去記事

py3math.hatenablog.com