Использовать список натуральных чисел в DrRacket и возвращать значения в списке с нулями в столбце десятков - PullRequest
0 голосов
/ 12 июня 2019

Напишите функцию (ноль-десять L), которая потребляет (список Nat) и возвращает все значения в L, которые имеют ноль в столбце 10 с.

Например, все 109, 4000 и 24601 имеют ноль в столбце 10 с, а 1011, 42 и 9 - нет.

1 Ответ

0 голосов
/ 12 июня 2019

Просто удалите последнюю цифру и проверьте, делится ли остаток на 10. Затем используйте filter :

(define (divisible? n d) (= 0 (remainder n d)))

(define (zero-ten n)
  (let ((n1 (quotient n 10)))
    (and (positive? n1)
         (divisible? n1 10))))

(define (filter-zero-ten xs)
  (filter zero-ten xs))

Теперь (filter-zero-ten '(109 4000 24601 1011 42 9)) возвращает '(109 4000 24601)

...