ロジカ式logo

はじめての
Python

ページ一覧に戻る
応用問題4 素因数分解
素因数分解
  •   以下の要件でプログラムを作ってください。
  • ・キーボードから1つの整数を入力する。
  • ・入力された整数を、素因数分解する。
  • ・得られた素因数を、表示する。
ロボた

素因数分解そいんすうぶんかい」って、どんなのだったかな?

素因数分解とは

どんなプログラムにすればいいか、いっしょに考えてみよう!

ロボち
ロボた

「小さな数に分解」するんだから、繰り返しを使って「2」から順番に割っていったらいいんだよ!

同じ数で割り切れる間は、同じ数で割っていくよ!

ロボち
素因数分解1
素因数分解2
素因数分解3
素因数分解4

さぁ!これで、がんばってプログラムを作ってみてね!

ロボち
PRACTICE

📖 解答例と解説

num = int(input())   #キーボードから整数を入力
divisor = 2          #除数(割る数)を2から始める

while divisor <= num:
    #割り切れたら、素因数なので表示
    if num % divisor == 0:
        print(divisor)
        #割り切れたら、割り算の結果をnumに代入
        num = num / divisor
    else:
        divisor += 1
ロボた

キーボードから入力された整数の値になるまで繰り返しながら、最初は「2」から割っていくよ!

もし割り切れたら、その時の除数が素因数だから表示する!

ロボち
ロボた

さらに、割られる方の数も除数で割った値に更新しておかないといけないよ!

もし割り切れなかったときには、除数を次の数にしておく!
これで、素因数を求めることができるよ!

ロボち