Зад.1. Да се напише функция (fast-exp x n), която повдига числото x на степен n (естествено число) по метода на бързото експоненциране.
Зад.2. Да се напише функция (roots a b c), която изчислява броя корените на квадратно уравнение с коефициенти a, b и c.
Зад.3. Да се напише функция (fact n), която изчислява n! чрез опашкова рекурсия. Можете да разчитате, че n е естествено число.
Зад.4. Да се напише функция (fib n), която изчислява n-тото число на Фибоначи, използвайки опашкова рекурсия.

Зад.5. Да се напише функция (reverse-int n), която обръща последователността на цифрите на дадено естествено число:
(reverse-int 1234) -> 4321
(reverse-int 10000) -> 1
Зад.6. Да се напише функция (palindrome? n), която проверява дали дадено естествено число е палиндром. Числата-палиндроми се четат по един и същ начин отляво-надясно и отдясно-наляво:
(palindrome? 12321) -> #t
(palindrome? 4040) -> #f
Зад.7. Да се напише функция (divisors-sum n), която намира сумата на всички делители на дадено естествено число:
(divisors-sum 12) -> 28 ;1+2+3+4+6+12=28
Зад.8. Да се напише функция (perfect? n), която проверява дали дадено естествено число е съвършено. Съвършени числа са тези, за които сумата на всичките им делители (без самото число) е равна на същото число:
(perfect? 6) -> #t ;1+2+3=6
(perfect? 28) -> #t ;1+2+4+7+14=28
(perfect? 33550336) -> #t ;1+2+...+16775168=33550336
Зад.9. Да се напише функция (prime? n), която проверява дали дадено число е просто:
(prime? 1) -> #f ;(!)
(prime? 2) -> #t
(prime? 101) -> #t
Зад.10. Да се напише функция (increasing? n), която проверява дали цифрите на дадено естествено число са в нарастващ ред, четени отляво-надясно:
(increasing? 12489) -> #t
(increasing? 4456) -> #f
Зад.11. Да се напише функция (toBinary n), която превръща дадено естествено число в двоична бройна система:
(toBinary 8) -> 1000 (toBinary 15) -> 1111 (toBinary 42) -> 101010
Зад.12. Да се напише функция (toDecimal n), която превръща дадено естествено число от двоична в десетична бройна система:
(toDecimal 101010) -> 42 (toDecimal (toBinary 1234)) -> 1234


Последно модифициране: четвъртък, 11 октомври 2018, 15:32