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