Как я могу проверить, что число делится на два и три в LISP? - PullRequest
0 голосов
/ 03 июля 2018

Мне нужно проверить, делится ли данное число на 2 (если да, выход должен быть 2), на 3 (если да, выход должен быть 3), и если число не делится на выход 2 или 3 (например, 11) должно совпадать с заданным номером.

Вот мой код:

(defun funk (a)    
(cond 
  ((evenp a)2) 
 ((rem a 3)3)
 (t a) 
))

показывает 3, даже если я определяю как 11.

1 Ответ

0 голосов
/ 03 июля 2018

Вам нужно проверить, равен ли остаток нулю.

((zerop (rem a 3)) 3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...