Произведение суммы списков ракеток - PullRequest
0 голосов
/ 23 марта 2020

Мне нужно сделать функцию ракетки, чтобы умножить 2 списка в ракетке следующим образом:

ex: l1 = (1 2 3) l2 = (4 5 6) результат функции равен 189 = (1 + 2) (2 + 5) (3 + 6)

Я не знаю, с чего начать, поэтому, пожалуйста, помогите мне, я полностью потерян.

1 Ответ

0 голосов
/ 23 марта 2020

Вы можете добавить первый элемент из двух списков, используя car

(+ (car '(1 2)) (car '(4 5)))
=> 5

Получить остальную часть списка, используя cdr:

(cdr '(1 2 3))
=> '(2 3)
(define product-of-sum
  (lambda (list1 list2)
    ...))

В В теле вы добавляете первый элемент из обоих списков, затем передаете остальную часть списка на product-of-sum, чтобы продолжить вычисления, пока список не станет пустым списком.

...