Cvičení na doplnění kódu, 15. března
Většinu zadání psal robot, ale napsal to hezky.
1. Ciferný součet
Výsledkem funkce je součet všech číslic v desítkovém zápisu zadaného čísla.
def sum_of_digits(n):
return n if ____________ else n % 10 + sum_of_digits(n // __________)
2. Fibonacci
Výsledkem funkce je n-té číslo Fibonacciho posloupnosti, která je 0 a 1 pro n=0 a n=1, a pro větší n je součtem dvou předchozích čísel.
def fibonacci(n):
return n if ____________ else fibonacci(____________) + fibonacci(____________)
3. Faktoriál
Výsledkem funkce je součin všech čísel od 1 do n včetně, anebo 1, když zadané číslo je 0.
def factorial(n):
return 1 if ____________ else n * factorial(____________)
4. Mocnina
Výsledkem funkce je base
umocněné na exp
.
def power(base, exp):
return 1 if ____________ else base * power(____________ , ____________)
5. Binární vyhledávání
Funkce hledá v seřazeném seznamu arr
prvek target
a vrací jeho index, nebo -1, pokud prvek v seznamu není.
def binary_search(arr, target, low, high):
if low > high:
return -1
mid = (low + high) // 2
if arr[mid] == target:
return ____________
elif arr[mid] < target:
return binary_search(arr, target, ____________ , ____________)
else:
return binary_search(arr, target, ____________ , ____________)