素因数分解のプログラミング

Python3.9

n=100 a=[] while n%2==0: a.append(2) n//=2 f=3 while f*f<=n: if n%f==0: a.append(f) n//=f print(a) else: f+=2 if n!=1: a.append(f) print(a)

f=3のところで詰まってしまうのですがどこが間違っているでしょうか?
ご教授いただけると幸いです。

また表記の仕方を以下のようにしたいのですが、どうすればよろしいでしょうか?
{例}n=90
90=2×3×3×5
{2、1}{3、2}{5、1}

コメントを投稿

0 コメント