Python :: Aufgabe #335 :: Lösung #2
5 Lösungen
#335
Primfaktorzerlegung und Potenzschreibweise
Fortgeschrittener - Python
von JKooP
- 03.04.2021 um 09:53 Uhr
1. Schreibe eine Methode/Funktion, die jede Integer- Zahl in ihre Primfaktoren zerlegen kann
und das Ergebnis als Array/Liste zurückgibt.
Beispiel:
24 = 2*2*2*3
Lösung:
a = { 2, 2, 2, 3 }
2. Schreibe eine weitere Methode/Funktion, die die Werte des Arrays aus Aufgabe 1
in Potenzschreibweise überführt und auf dem Bildschirm ausgibt.
Das Zeichen zur Darstellung kann je nach Vorliebe/Programmiersprache variieren (^, **, h, ...).
Lösung:
2*2*2 = 2^3
3 = 3^1
Ausgabe:
2^3 * 3^1
Viel Spaß
und das Ergebnis als Array/Liste zurückgibt.
Beispiel:
24 = 2*2*2*3
Lösung:
a = { 2, 2, 2, 3 }
2. Schreibe eine weitere Methode/Funktion, die die Werte des Arrays aus Aufgabe 1
in Potenzschreibweise überführt und auf dem Bildschirm ausgibt.
Das Zeichen zur Darstellung kann je nach Vorliebe/Programmiersprache variieren (^, **, h, ...).
Lösung:
2*2*2 = 2^3
3 = 3^1
Ausgabe:
2^3 * 3^1
Viel Spaß
#2
von satn1241 (3090 Punkte)
- 07.04.2021 um 11:39 Uhr
zahl = 27861786873687128719827
zahl_text = str(zahl)
# primfaktorliste mit Duplikaten
i = 2
liste = []
while i <= zahl:
if zahl % i == 0:
liste.append(i)
zahl = int(zahl / i)
i = 1
print(liste)
i += 1
# Primfaktoren ohne Duplikate
liste2 = list(set(liste))
liste2.sort()
# Anzahl Primfaktoren
anzahl = []
for element in liste2:
i = 0
for e in liste:
if element == e:
i += 1
anzahl.append(i)
# Ausgabe
print(zahl_text, "=")
for i in range(0, len(liste2) - 1):
print(liste2[i], "^", anzahl[i], "* ", end="")
print(liste2[len(liste2) - 1], "^", anzahl[len(liste2) - 1])
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
