Python :: Aufgabe #54 :: Lösung #6

6 Lösungen Lösungen öffentlich
#54

Finde die erste Zahl die durch alle Zahlen bis 30teilbar ist

Fortgeschrittener - Python von 96fabi - 25.09.2014 um 09:01 Uhr
Gesucht wird die erste Zahl, die durch alle Zahlen bis 30 geteilt werden kann(1-30).
Zum Einstieg kann man erstmal die erste Zahl suchen , die durch alle Werte bis 20 geteilt werden kann.
Dieses ist 232792560
#6
vote_ok
von satn1241 (3090 Punkte) - 17.06.2020 um 19:14 Uhr
Quellcode ausblenden Python-Code
def primfaktorzerlegung(zahl):
    rest = zahl
    primfaktoren = []
    while rest != 1:
        a = int(rest ** 0.5)
        for j in range(2, a + 1):
            if rest % j == 0:
                primfaktoren += [j]
                rest = int(rest / j)
                break
        else:
            primfaktoren += [rest]
            break
    return primfaktoren


from collections import Counter

a = primfaktorzerlegung(2)
for i in range(3, 31):
    b = primfaktorzerlegung(i)
    c = Counter(a) | Counter(b)
    a = list(c.elements())

produkt = 1
for i in a:
    produkt *= i
print(produkt)

Kommentare:

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

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