Python :: Aufgabe #335 :: Lösung #1
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ß
#1
von eisheiliger (3750 Punkte)
- 07.04.2021 um 17:37 Uhr
"""
#335: Primfaktorzerlegung und Potenzschreibweise
Schreibe eine Methode/Funktion, die jede Integer- Zahl in ihre Primfaktoren zerlegen kann
und das Ergebnis als Array/Liste zurückgibt. Schreibe eine weitere Methode/Funktion, die
die Werte des Arrays in Potenzschreibweise überführt und auf dem Bildschirm ausgibt.
"""
import collections
def prf_prim(ein):
print("Ergebnis für die Zahl", ein)
prim_arr = []
di = 2
while di ** 2 <= ein:
while (ein % di) == 0:
prim_arr.append(di)
ein //= di
di += 1
if ein > 1:
prim_arr.append(ein)
print(prim_arr)
for (basis, hochz) in collections.Counter(prim_arr).items():
print(basis, "**", hochz)
def main():
prf_prim(24)
prf_prim(0)
prf_prim(105)
if __name__ == '__main__':
main()
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
