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

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ß
#3
vote_ok
von AlexGroeg (2010 Punkte) - 06.04.2021 um 17:56 Uhr
Quellcode ausblenden Python-Code

def ausgabe(faktoren):   
    n = faktoren.count(faktoren[0])
    print('{}^{}'.format(faktoren[0], n), end='')
    for i in range(n):
        faktoren.pop(0)
    if len(faktoren) > 0:
        print(end=' * ')
        ausgabe(faktoren)

def primfaktoren(zahl):
    i = 2 
    faktoren = [] 
    while i <= zahl: 
        if zahl % i == 0: 
            faktoren.append(i) 
            zahl = zahl / i 
        else: 
            i = i + 1 
    return ausgabe(faktoren) 


primfaktoren(24)

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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