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

#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)?
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

von jigga (4260 Punkte)
- 23.02.2017 um 13:43 Uhr

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
Seite 1 von 0
1