Напишете функция (length L)
,
която намира дължина на списък.
Напишете функция (sum L)
,
която намира сумата на всички числа от L
.
Напишете функция (last L)
,
която намира последния елемент на списък.
Напишете функция (append L M)
,
която по списъци L = (a1 a2 ... an)
и M = (b1 b1 ... bm)
връща списък (а1 a2 ... an b1 b2 ... bm)
.
Напишете функция (push-back x L)
,
която слага x
накрая на L
(връщайки нов списък).
Напишете функция (member? x L)
,
която намира дали x
е елемент на списъка L
.
Напишете функция (from-to a b)
,
която връща списък (a (+ a 1) (+ a 2) (+ a 3) ... b)
.
Напишете функция (reverse L)
,
която връща списък от елементите на L
в обратен ред.
Напишете функция (map f L)
,
която по даден списък L = (a1 a2 a3 a4 ... an)
връща списък (f(a1) f(a2) f(a3) f(a4) ... f(an))
Напишете функция (filter pred? L)
,
която връща списък от елементите на L
, за които pred?
е истина.
Напишете функция (partition pred? L)
,
която връща списък от два списъка.
Първият подсписък съдържа всички елементи на L
, за които pred?
е истина, а вторият съдържа всички, за които pred?
е лъжа.
Напишете функция (scp L)
,
която намира сумата на третите степени на всички прости числа в L
.
Напишете функция (take n L)
,
която връща списък от първите n
елемента на L
.
Напишете функция (drop n L)
,
която връща списък от всички елемента на L
без първите n
.
Напишете функция (list-ref L n)
,
която връща елементът на позиция n
в списъка L
. Броенето започва от нула.
Напишете функция (list-tail L n)
,
която връща списък от всички елементи на позиция по-голяма от n
в списъка L
.
Напишете функция (insert n x L)
,
която вмъква x
на позиция n
в списъка L
, без да премахва останалите елементи.
Напишете функция (remove x L)
,
която премахва първото срещане на x
в L
(връщайки нов списък).
Напишете функция (explode-digits n)
,
която по дадено цяло число n
, връща списък от цифрите му.
Напишете функция (digit-occurence d n)
,
която намира колко пъти цифрата d
се среща в цялото число n
. Използвайте explode-digits
.
Напишете функция (remove-repeats L)
,
която премахва последователните повторения на едно и също число от списъка L
.
Пример:
(remove-repeats '(1 1 4 4 3 3 4 4 4)) -> '(1 4 3 4)
(remove-repeats '(1 2 3 4)) -> '(1 2 3 4)