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

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
#4
vote_ok
von AnnaIhrs (460 Punkte) - 30.06.2016 um 11:56 Uhr
Quellcode ausblenden Python-Code
#!/usr/bin/python3
# -*- encoding: utf-8 -*-
#
#>>>autor:      Sebastian Müller
#>>>licence:    GPL
#>>>contact:    mypythonmueller@gmail.com
#
#Programm nach fogender Aufgabenstellung V2.0
#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

#mein erstes programm noch mal überarbeitet um die geschwindigkeit zu erhöhen

print("Programm, das die erste Zahl ermitteln soll, die sich durch alle Zahlen"
"von 1-30 teilen lässt.")
ende = 1
zahler = 30 * 29
while ende:
    zahler += 1
    if zahler % 1000000 == 0:
#        print("Alle zahlen überprüft bis: {0:21.0f}Mio.".format(zahler / 1000000))
#   if zahler % 30 > 0:
        continue
    elif zahler % 29 > 0:
        continue
    elif zahler % 28 > 0:
        continue
    elif zahler % 27 > 0:
        continue
    elif zahler % 26 > 0:
        continue
    elif zahler % 25 > 0:
        continue
    elif zahler % 24 > 0:
        continue
    elif zahler % 23 > 0:
        continue
    elif zahler % 22 > 0:
        print("{0:<23} {1:29d}".format("Teilbar von 30 bis 23: ", zahler))
        continue
    elif zahler % 21 > 0:
        print("{0:<23} {1:29d}".format("Teilbar von 30 bis 22: ", zahler))
        continue
    elif zahler % 20 > 0:
        print("{0:<23} {1:29d}".format("Teilbar von 30 bis 21: ", zahler))
        continue
    elif zahler % 19 > 0:
        print("{0:<23} {1:29d}".format("Teilbar von 30 bis 20: ", zahler))
        continue
    elif zahler % 18 > 0:
        print("{0:<23} {1:29d}".format("Teilbar von 30 bis 19: ", zahler))
        continue
    elif zahler % 17 > 0:
        print("{0:<23} {1:29d}".format("Teilbar von 30 bis 18: ", zahler))
        continue
    elif zahler % 16 > 0:
        print("{0:<23} {1:29d}".format("Teilbar von 30 bis 17: ", zahler))
        continue
#15 entfällt wegen 30
#14 wegen 28
#13 wegen 26
#usw
    ende = 0

print("Die erste Zahl die sich durch alle Zahlen von 1 bis 30 teilen lässt ist:")
print("")
print(zahler)

Kommentare:

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

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