Создайте рекурсивную процедуру с именем (аккумуляторная сумма затем). Процедура вернет сумму четных чисел, введенных с клавиатуры. Процедура будет считывать последовательность чисел с клавиатуры, где параметр evensum будет отслеживать сумму из введенных на данный момент четных чисел, а параметр next будет (читать) следующий номер с клавиатуры.
Контрольный пример:
(аккумулятор 0 0);Введите 1 2 3 4 5 6 7 8 end
Вывод: 20
Я немного смущен рекурсивной частью и идеей следующего. В противном случае я думаю, что это не сложно.
Я получил представление о сумме чисел в списке, но как я могу выбрать из него четное число?
(define accumulator
(lambda (sum n next)
(if (not (number? next))
(accumulator (+ next sum) (+ 1 n) (read)))))