Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > LISP > Подсчет чисел и атомов в списке


Автор: Sunako 1.12.2009, 13:12
Написать функцию    GMA   такую, что (GMA L)   принимает значение Т, если в списке L   больше чисел, чем атомов.   L-список из атомов любого характера.

Автор: VH_ 1.12.2009, 15:02
Код
(defun GMA (L &optional (count 0))
 (cond
  ((null L) (plusp count))
  ((numberp (car L)) (GMA (cdr L) (1+ count)))
  (T (GMA (cdr L) (1- count)))))

Автор: Sunako 2.12.2009, 11:36
Cпасибо

Автор: _sg 25.4.2014, 10:11
больше чисел, чем символов:
Код

(defun gma (w)
  (> (count-if #'numberp w) (count-if #'symbolp w)))

> (gma '(1 2 3 a b))
T
> (gma '(1 a b))
NIL

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)