見出し画像

Python(素因数分解)

今回はPythonの素因数分解についての記事を投稿したいと思います。

自分も何をしているのかまだ理解していないので勉強しながら書いていきます。

期待する出力

素因数分解をする出力


コード

def Sample11():
    """素因数分解"""
    count_1 = int(input('何回入力しますか?')) # 指定した数素因数分解をする。
    for j in range(count_1):
        n = int(input('素因数分解する数字を入力'))
        f_n = n
        l = []
        if n == 1:
            l.append(1)
            exit()
        # 試し割り法
        for i in range(2,int(n**0.5)+1):
            while n % i == 0:
                n //= i
                l.append(i)
        if n != 1:
            l.append(n)
        print("{0}:".format(f_n),*l)
Sample11()

試し割り法

素因数分解しようとする整数nを小さい順に割ってみて、割り切れるかどうかを調べる手法になります。

変数f_nは入力した数字。
*lはリストに追加したデータになる。appendで追加。

int(n**0.5)は小数で表した数字を整数に変換する。

n ** 0.5で入力した数字を半分にする。

下記がコードになる。

def Sample12():
    n = int(input())
    n_1 = n ** 0.5 # 入力した数字を半分にする
    print(n_1)
Sample12()
上記コードを実行した結果

入力した数字と半分にした数字とで割って0になった場合リストに追加していく。最後はリストに追加したデータを全て表示する。

他のPythonの記事はこちらからご覧ください。

以上になります。

この記事が気に入ったらサポートをしてみませんか?