望月の息抜き

在宅勤務の息抜きです。主にプログラミングについて書いていきたいと思います。

【Python】【23】素因数分解してみよう③

【記事の目標】

ライブラリを使って、任意の数値(n)を素因数分解する。

 

【作業手順】

1.Sympyをインストール/インポートしよう

2.素因数分解してみよう

 

1.Sympyをインストール/インポートしよう

ファイル上に以下を入力。

 from sympy.ntheory import factorint

入力することで、カーソルを合わせると、

「パッケージ sympy のインストール」と出てきますので、これをクリック。

自動でインストールされました。

2.素因数分解してみよう

Sympyを使って素因数分解してみましょう。

インポートした「factorint」で素因数分解の結果が返ってきます。

 result = factorint(100)

factorintの引数として、任意の数値(n)を渡すことでresultに素因数分解の結果が取得できます。

resultとしては以下のように返却されます。

 {2: 2, 5: 2}

key に素因数が、value に指数を返却してくれます。

そのため、100 は 2 が 2 つ、5 が 2 つで構成されていると返しています。

 

少しわかりにくい、、、

という方は、結果に対して以下ロジックを追加すると、前回と同じような結果が出力できます。

 keys = list(result.keys())
result_list = []
for i in range(0, len(keys)):
for j in range(0, result[keys[i]]):
result_list.append(keys[i])

これで result_list を出力すると、以下のようになります。

 [2, 2, 5, 5]

 

 

前回、前々回と素因数分解をやってきましたが、ライブラリを使うと一瞬で出来てしまいますね。

もちろん、自身でロジックを組むことも大切ですが、こういったライブラリを使って作業を短縮することも大切です。

少しでも知識を増やして、簡単にロジックが組めるようになっていければいいなと思っています。