Число с нечетни цифри на Lisp


Тази функция взима число и връща друго създадено от нечетните цифри на 1-то. Или по-скоро преобразува число, като маха неговите четни цифри.
На  123456 връща 135

(define (make_number n)
  (define (get-num num)
    (if (odd? num)
        num
        0))
  (cond ((= n 0) 0)
        (else (+ (get-num (remainder n 10))
              (if (odd? (quotient (remainder n 100) 10)) (* 10 (make_number (quotient n 10)))
                  (make_number (quotient n 10)))))))
(make_number 123456789)
  1. Няма коментари.
(will not be published)