Hi all, I´v tried to write a procedure that gets an integer as parameter and returns true if the number is a palindrome and false otherwise and it seems to be that there is a problem with changing a global parameter's value whithin an internal function block.
(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))
I would like to know what can I do about it thanks!