Зад.1. Да се напише функцията fibonacci, която изчислява n-тото число на Фибоначи:
fibonacci 5   -> 5
fibonacci 40  -> 102334155
fibonacci 400 -> 176023680645013966468226945392411250770384383304492191886725992896575345044216019675
Зад.2. Напишете горната функция по колко може повече начини.

Зад.3. Да се напише функцията countRoots, която приема три аргумента - коефициентите на квадратно уравнение - и изписва на екрана колко корена има то:
countRoots 1 5 (-6) -> "Two roots"

Зад.4. Да се напише функция power, която степенува две числа по метода на бързото степенуване
Зад.5. Да се напишат функциите gcd' и lcm', които изчисляват съответно най-големия общ делител и най-малкото общо кратно на две неотрицателни цели числа.
Зад.6. Да се напише функция ackermann, която за неотрицателните числа m и n изчислява функцията на Акерман:


Съвет: НЕ извиквайте функцията с m>3 (!)
Зад.7. Да се напише функция distance, която намира разстоянието между две точки в равнината (наредени двойки):
distance (-2,3) (1,7) -> 5
distance (0,0) (1,1) -> 1.4142135623730951

Зад.8. Да се напише функция modulus, която приема комплексно число като наредена двойка от координатите си и изчислява неговия модул (разстоянието до нулата):
modulus (3,4) -> 5
Зад.9. Да се напишат функции complAdd, complSub и complMul, които извършват съответните операции над комплексни числа, представени като наредени двойки от координатите си:
complAdd (1,2) (-3,5) -> (-2,7)
complSub (4,8) (2,-1) -> (2,9)
complMul (3,5) (2,1) -> (1,13)

Последно модифициране: четвъртък, 22 ноември 2018, 17:12