Это моя первая попытка в Scheme, и я, кажется, застрял в конце строки. Эта программа должна взять список чисел, два подмножества и вытащить числа, которые равны одной и той же сумме. т.е.; 5 + 2 = 7 и 4 + 3 = 7. Программа должна напечатать два подмножества {5 2} {4 3} Я получаю сообщение об ошибке "иначе: не разрешено как выражение", и я просто не могу понять Почему. Любые подсказки или направления приветствуются.
(define two-subsets (lambda (list count sum1 sum2)
(cond ((and (not (= count 0) (= sum1) (= sum2) #t)
((null? list) #f)
((two-subsets (cdr list) (+ count) (+ sum1) (+ sum2 (car list) #t)
((two-subsets (cdr list) (+ count 1) (- sum1) (- sum2 (car list) #t)
(else (two-subsets (cdr list) count sum1 sum2)))
))))