Fibonacci-Folge - Berechnung der ersten 100 Zahlen

文章正文
发布时间:2025-07-18 02:40

Python :: Aufgabe #258

5 Lösungen

Lösungen öffentlich

Fibonacci-Folge - Berechnung der ersten 100 Zahlen (mit Schleife oder rekursiver Funktion)

Anfänger - Python von Gnom - 31.03.2020 um 00:35 Uhr

Berechne die ersten 100 Zahlen der Fibonacci-Folge (0, 1, 1, 2, 3, 5, 8, 13, ... vgl.: Fibonacci-Folge (Wikipedia))

Die Fibonacci-Folge beginnt mit den Zahen 0 und 1. Jede weitere Zahl der Folge wird durch Addition der beiden Vorhergehenden gebildet.

0
1
1 (=0+1)
2 (=1+1)
3 (=1+2)
5 (=2+3)
8 (=3+5)
13 (=5+8)
...

Die Aufgabe lsst sich mit einer relativ einfachen Schleife lsen.
Fortgeschrittene knnen sie auch mit einer rekursiven Funktion lsen.

Viel Erfolg!

Bitte melden Sie sich an um zur Aufgabenbeschreibung eine Frage zu stellen.

Frage stellen

Bitte melden Sie sich an um eine Lösung einzureichen.

Lösung einreichen

Votes: 0 Admin: 0

Lösungen:

#1

1 Kommentar

0x

vote_ok

von Asthos (410 Punkte) - 03.04.2020 um 16:44 Uhr

Quellcode ausblenden

Python-Code

#!/usr/bin/env python # -*- coding: utf-8 -*- # inspiriert durch Youtube: https://www.youtube.com/watch?v=Qk0zUZW-U_M fibonacci_cache = {} def fibonacci(n): #Eingabeprfung if type(n) != int: raise TypeError('n muss eine positive ganze Zahl sein') if n < 1: raise ValueError('n muss eine positive ganze Zahl sein') #Wenn der Wert im Cache ist, dann diesen zurckgeben if n in fibonacci_cache: return fibonacci_cache[n] if n == 1: wert = 1 elif n == 2: wert = 1 elif n > 2: #Rekursiver Aufruf wert = fibonacci(n-1) + fibonacci(n-2) fibonacci_cache[n] = wert return wert



Ausgabe von:
fibonacci(100) = 354224848179261915075
fibonacci(1.2): TypeError: n muss eine positive ganze Zahl sein
fibonacci(-3): ValueError: n muss eine positive ganze Zahl sein

Kommentar ansehen

Bitte melden Sie sich an um eine Kommentar zu schreiben.

Kommentar schreiben

Admin: 0

#2

0x

vote_ok

von Gisbert5020 (3120 Punkte) - 03.04.2020 um 20:18 Uhr

Quellcode ausblenden

Python-Code

a=0 b=1 print(a) print(b) for i in range(1,99): c=a+b print(c) a=b b=c

Bitte melden Sie sich an um eine Kommentar zu schreiben.

Kommentar schreiben

Admin: 0

#3

0x

vote_ok

von satn1241 (3090 Punkte) - 06.04.2020 um 22:38 Uhr

Quellcode ausblenden

Python-Code

ende = int(input("Bis wohin mchten Sie die Fibonaccifolge angezeigt bekommen?")) n_0 = 0 n_1 = 1 n_2 = 1 print(n_0) print(n_1) for i in range(0, ende): print(n_2) n_0 = n_1 n_1 = n_2 n_2 = n_1 + n_0

Bitte melden Sie sich an um eine Kommentar zu schreiben.

Kommentar schreiben

Admin: 0

#4

0x

vote_ok

von thunderbird (820 Punkte) - 27.04.2020 um 11:23 Uhr

Quellcode ausblenden

Python-Code

def Fibonacci(i): if i == 0: return 0 elif i == 1: return 1 elif i<0: return Fibonacci(-i) else: return (Fibonacci(i-1)+Fibonacci(i-2)) print("Hinweis: Negative Zahlen werden vernachlaessigt") i = int(input("Bitte geben Sie eine ganze Zahl ein, von welcher die Fibonacci-Folge berechnet werden soll: ")) print(f"Fibonacci-Folge: {Fibonacci(i)}")

Bitte melden Sie sich an um eine Kommentar zu schreiben.

Kommentar schreiben

Admin: 0

#5

0x

vote_ok

von Kryptonos (180 Punkte) - 08.11.2020 um 14:32 Uhr

Quellcode ausblenden

Python-Code

# Rekursive Berechnung der 100. Fibonacci-Zahl from typing import Dict memo: Dict[int, int] = {0: 0, 1: 1} #Abbruchbedingung def fib(n: int) -> int: if n not in memo: memo[n] = fib(n-1) + fib(n-2) #Memoisation return memo[n] if __name__ == "__main__": print(fib(100))

Bitte melden Sie sich an um eine Kommentar zu schreiben.

首页
评论
分享
Top