Вот вопрос:
Напишите функцию (first-n-elements lst n)
, которая возвращает список, содержащий только первые n
элементы lst
. Например, (first-n-elements '(1 2 3 4 5 6) 3)
должно вернуть '(1 2 3)
. Ваша функция должна обрабатывать случай, когда n
больше длины списка (в этом случае она возвращает весь список), а n
равен 0 (должен возвращать '()
).
Мой ответ:
(define (first-n-elements lst n)
(cond((null? lst) '())
((= n 0) lst))
((> n 0) (cons (+ (car lst) 1) (first-n-elements) (cdr lst) (- n 1))))
Я знаю, что это неправильно, пожалуйста, помогите