Я знаю, что это новый вопрос. Я пытаюсь создать функцию displayPoly для отображения полинома в схеме. Например, список, заданный как '(2 0 1 5.1 8), должен отображать 2x ^ 4 + x ^ 2 + 5.1x + 8.
Я определил "степень" следующим образом:
(define degree
(lambda(list)
(if (null? list)
(- 1)
(+ 1 (degree (cdr list))))))
Обратите внимание, что я строго ограничен функциями базовой схемы • define, lambda, if, cond, cons, car, cdr, list, member, list-ref • predicates: null? список? равный? нить? количество? член? • арифметические операторы, реляционные операторы, логические операторы • sort, map, filter, foldr, foldl, length, reverse, append, last, let, let *, letrec, print, begin, newline, display, expt, string-append, reduce , диапазон