pythonで素因数分解したものを指数表現で表したいです。
2^43^35のように表したいです。
どこを変えればいいかわからずわかる方がいましたら教えてください。
python
1def prime(n): 2 a = [] 3 while n % 2 == 0: 4 a.append(2) 5 n //= 2 6 f = 3 7 while f * f <= n: 8 if n % f == 0: 9 a.append(f) 10 n //= f 11 else: 12 f += 2 13 if n != 1: 14 a.append(n) 15 return a 16 17 18print("入力された数の素因数分解を求めます") 19n = int(input()) 20print(prime(n))
素因数云々の話は一旦忘れて、例えば [2, 2, 2, 3, 3, 5] から "2^3*3^2*5" を生成する処理を考えて下さい。
これらは独立した問題として考えた方が良いでしょう。
回答2件
あなたの回答
tips
プレビュー