Я попытался написать процедуру, которая получает целое число как параметр и возвращает значение true, если число является палиндром и ложным в противном случае, и похоже, что существует проблема с изменением значения глобального параметра, внутренний функциональный блок.Ограниченные переменные и область действия
(define index 0)
(define (palindrome? x)
(if (= (lenght x) 1)
#t
(if (last_equal_first x)
(palindrome? (remove x))
#f)))
(define (lenght x)
(define index **(+ index 1))**
(if (= (modulo x (ten_power index)) x)
index
(lenght x)))
(define (last_equal_first x)
(if (= (modulo x 10) (modulo x (/ (ten_power (lenght x)) 10)))
#t
#f))
Я хотел бы знать, что я могу сделать об этом спасибо!