Python :: Aufgabe #335 :: Lösung #1

5 Lösungen Lösungen öffentlich
#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ß
#1
vote_ok
von eisheiliger (3750 Punkte) - 07.04.2021 um 17:37 Uhr
Quellcode ausblenden Python-Code

"""
#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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1800928

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.