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


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

Зад.5. Да се напише функция replicate', която конструира списък от n повторения на даден обект:
replicate' 5 10 -> [10,10,10,10,10]
Зад.6. Да се напише функция take', която взима първите n елемента от даден списък:
take' 3 [1..5] -> [1,2,3]
take' 5 [10,20,30] -> [10,20,30]
Зад.7. Да се провери дали дадено число е просто.
Зад.8. Да се генерира безкрайния списък primes от прости числа.
take 5 primes -> [5,7,9]
Зад.9. Да се напише функция nthPrime, която връща n-тото подред просто число:
nthPrime 10 -> 31

Зад.10. Да се напише функция removeNth, която премахва всеки n-ти елемент от даден списък:
removeNth 3 [1..10] -> [1,2,4,5,7,8,10] -- липсват 3, 6 и 9

Зад.11*. Генерирайте безкрайния списък на простите числа по метода на ситото на Ератостен (използвайки предишната функция).


Последно модифициране: вторник, 13 декември 2016, 08:33