Я пытаюсь вызвать обратную функцию, которую я написал (которая работает, когда вызывается одна) внутри другой функции, но она выдает неверные результаты.
Я пишу программу для получения производной по отношению кх, двумерного многочлена.У меня есть основная функция с именем poly_derx , которая будет вызывать две мои вспомогательные функции reverse_list и mult_by_index .
(define (mult_by_index list_1)
(if (null? list_1)
list_1
(map * list_1 (range (length list_1)))))
(define (reverse_list list_1)
(if (null? list_1)
list_1
(append(reverse (cdr list_1)) (list (car list_1)))))
(define (poly_derx list_1)
(if (null? list_1)
list_1
(reverse_list(cons (mult_by_index (car list_1)) (poly_derx (cdr list_1))))))
(poly_derx `( (1) (1 2 3) () (3)))
Опять мои 3 функцииработать нормально, пока я не добавлю reverse_list в poly_derx .Кроме того, я знаю, что есть встроенный реверс, но я сталкиваюсь с той же проблемой.
На данный момент, единственное, что мне известно, это попытаться вызвать реверс в разных точках функции, но ничего не знаю о работах..