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

2 Lösungen Lösungen öffentlich
#292

Die n-te Zahl ermitteln

Fortgeschrittener - Python von JKooP - 04.10.2020 um 11:30 Uhr
Man nehme eine Zahl, die beispielsweise mit den Ziffern 245 beginnt.
Nun ist die Frage, welche ist z.B. die 12. Zahl, die ebenfalls mit 245 beginnt?

Lösung: 24500, denn
01. 245
02. 2450
03. 2451

11. 2459
12. 24500

Welche ist die 100. Zahl die mit 245 beginnt?

Variante 1: durch Probieren mittels einer Schleife (leicht)

Versucht man jetzt aber durch Probieren die 13000. Zahl zu ermitteln, kann das schon eine Weile dauern. Vielleicht lässt sich eine logische Folge ableiten?!

Variante 2: Berechnung der Zahl (schwieriger)

Viel Spaß
#1
vote_ok
von Marty3000 (680 Punkte) - 04.11.2020 um 10:12 Uhr
Quellcode ausblenden Python-Code
def incr(pfix, x):
    if x == 0:
        length: int = len(pfix)
        result = []
        for i in range(0, length + 1):
            result.append(0)
    else:
        if pfix[x - 1] == 9:
            pfix[x - 1] = 0
            result = incr(pfix, x - 1)
        else:
            pfix[x] = 0
            pfix[x - 1] = pfix[x - 1] + 1
            result = pfix
    return result


def get_postfix(n: int):
    postfix = [0]
    if n == 1:
        postfix = []
    if n == 2:
        pass
    if n > 2:
        for i in range(2, n):
            last: int = postfix[len(postfix) - 1]
            if last < 9:
                postfix[len(postfix) - 1] = last + 1
            else:
                postfix = incr(postfix, len(postfix) - 1)
    return postfix


def test_292(n):
    addon = get_postfix(n)
    txt: str = "%d. 245" % n
    for i in addon:
        txt += str(i)
    print(txt)


if __name__ == '__main__':
    test_292(100)
    test_292(13000)

Kommentare:

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

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

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.