PROGRAMOWANIE I ALGORYTMY

Ciąg Fibonacciego w Pythonie


powrót

Kolejne liczby ciągu Fibonacciego:$$1\ 1\ 2\ 3\ 5\ 8\ 13\ 21\ 34\ 55\ ...$$

Informacje o ciągu Fibonacciego znajdują się w tym miejscu.

Zadanie 1

Dla podanej wartości zmiennej n > 0, wyznacz n kolejnych liczb ciągu Fibonacciego.

Rozwiązanie iteracyjne w języku Python
#**********algorytm.edu.pl***************
def Fibo(n):
    a , b = 1, 1
    for i in range(n):
        print(a, end=' ')
        b += a
        a = b - a
        
# głowna część programu

n = int(input("Podaj długość ciągu: "))
Fibo(n)
Wersja z listą
#**********algorytm.edu.pl***************
def Fibo(n):
    liczby_fibo = []
    if n == 1:
        liczby_fibo = [1]
    else:
        liczby_fibo = [1, 1]
        for i in range(2, n):
            liczby_fibo.append(liczby_fibo[i-2] + liczby_fibo[i-1])
    return liczby_fibo

# głowna część programu

n = int(input("Podaj długość ciągu: "))

print(Fibo(n))

"""
# lub
for i in Fibo(n):
    print(i, end = ' ')
"""
Zadanie 2

Napisz program, który znajdzie n-tą liczbę Fibonacciego dla n > 0.

#**********algorytm.edu.pl***************
def Fibo(n):
    a , b = 1, 1
    for i in range(n - 1):
        b += a
        a = b - a
    return a
# głowna część programu

n = int(input("Podaj nr liczby z ciągu Fibonacciego: "))

print(Fibo(n))
Przykładowe wejście/wyjście
Podaj nr liczby z ciągu Fibonacciego: 100
354224848179261915075
Wersja rekurencyjna (Uwaga! Złożoność rozwiązania jest wykładnicza)
#**********algorytm.edu.pl***************
def Fibo(n):
   if n < 3:
       return 1
   return Fibo(n-1) + Fibo(n-2)
# głowna część programu

n = int(input("Podaj nr liczby z ciągu Fibonacciego: "))

print(Fibo(n))