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

5 Lösungen Lösungen öffentlich
#144

Funktion über eine Natürliche Zahl

Anfänger - Python von hollst - 20.02.2017 um 09:02 Uhr
Man schreibe ein Funktion f(n) mit dem Definitionsbereich (n) und dem Wertebereich (f(n)) der natürlichen Zahlen.

Die Funktion f(n) sei wie folgt zu konstruieren:

1.) Schreibe die Zahlen 1 ... n in absteigender Reihenfolge nebeneinander: n, n - 1, n - 2 ... 5, 4, 3, 2, 1
2.) Wandle diese Zahlen in ihre binärer Darstellen ohne führende Nullen: n, n - 1, n -2 ... 101, 100, 11, 10, 1
3.) Entferne jetzt das Komma zwischen den Binärzahlen, die sich damit ergebende neue Binärzahl ist f(n).

Beispiel: f(6) => 6, 5, 4, 3, 2, 1 => 110, 101, 100, 11, 10, 1 => 11010110011101 = 13725 (dezimal).

Fragen: Welchen Wert hat f(99)?

#1
vote_ok
von jigga (4260 Punkte) - 23.02.2017 um 13:43 Uhr
Quellcode ausblenden Python-Code
def f(n):
    
    zahl=''
    
    for i in range(n,0,-1):
        zahl += format(i,'b')
    return int(zahl,2)

while True:

    z = int(input("Zahl (int) eingeben: "))
    print("f(" + str(z) + ") = " + "{:,}".format(f(z)).replace(",","."))
    
    nochmal = input("Nochmal? (y/n)")
    print()
    if nochmal == 'y' or nochmal == 'Y':
        continue
    else:
        break

Kommentare:

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

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