Rozkład w postaci potęg
Rozkład liczby na czynniki pierwsze - Algorytmy: zakres rozszerzony (Python)
Powtarzające się czynniki zapisuje się jako potęgi: 360 = 2^3 * 3^2 * 5. Słownik zlicza, ile razy każdy czynnik wystąpił w rozkładzie.
def factorize(n):
factors = []
d = 2
while d * d <= n:
while n % d == 0:
factors.append(d)
n //= d
d += 1
if n > 1:
factors.append(n)
return factors
counts = {}
for f in factorize(360):
counts[f] = counts.get(f, 0) + 1
parts = []
for f, k in counts.items():
parts.append(str(f) if k == 1 else f"{f}^{k}")
print("360 =", " * ".join(parts))Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Algorytmy: zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.