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