Я пытаюсь написать функцию, используя схему, которая:Схема - Рекурсия: Сумма последовательных элементов списка
- взять список целых чисел с более чем двумя элементами в качестве параметра
- сумма п -й элемент и (п + 1) -й элемент
- возвращение этого список
Результат должен быть следующими:
> (SumNeighbors (list 1 2 3 4))
(3 5 7)
Я думаю, что я получаю возможность добавлять элементы, но мой рекурсии совершенно неправильно ...
(define (SumNeighbors lst)
(if (not (null? (cdr lst)))
(append (list (+ (car lst) (car (cdr lst)))) (SumNeighbors (cdr lst)))))
Любая помощь будет оценена.
Большое спасибо, это работает! (определить (SumNeighbors LST) (если (нуль? (Корд LST)) нуль (против (+ (машина LST) (автомобиль (корд LST))) (SumNeighbors (корд LST))))) – lbeziaud
@ пользователь2535792 хороший! :) –