37 lines
902 B
Python
Executable File
37 lines
902 B
Python
Executable File
#! /usr/bin/env python3
|
|
|
|
def fibonacci(n):
|
|
if n == 1 or n == 2:
|
|
return 1
|
|
#Rekursiver Funktionsaufruf
|
|
#return fibonacci(n - 1) + fibonacci(n - 2)
|
|
fn_1, fn_2 = 1, 1
|
|
for i in range(n-2):
|
|
fn_1, fn_2 = fn_1 + fn_2, fn_1
|
|
return fn_1
|
|
|
|
def fibonacci_folge(n):
|
|
if n >= 1:
|
|
#print("yield 1 (fib(1))")
|
|
yield 1
|
|
if n >=2:
|
|
#print("yield 1 (fib(2))")
|
|
yield 1
|
|
#Rekursiver Funktionsaufruf
|
|
#return fibonacci(n - 1) + fibonacci(n - 2)
|
|
fn_1, fn_2 = 1, 1
|
|
for i in range(n-2):
|
|
fn_1, fn_2 = fn_1 + fn_2, fn_1
|
|
#print("yield {} (fib({}))".format(fn_1, i+3))
|
|
yield fn_1
|
|
|
|
#print("fib(5) =", fibonacci(5))
|
|
#
|
|
# print("fib(40) =", fibonacci(400))
|
|
|
|
for nr, fib in enumerate(fibonacci_folge(30)):
|
|
print(nr+1, fib, sep=' -> ')
|
|
|
|
#print(list(fibonacci_folge(30)))
|
|
#print([i for i in fibonacci_folge(10)])
|
|
|