Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.227.69] |
|
Сообщ.
#1
,
|
|
|
Привет ребята кто может подсказать?
Задание. Напишите функцию, которая определяет является ли данное натуральное число простым. Воспользуйтесь более общей задачей: (ispr n m) – “Число n не делится ни на одно число больше или равное m и меньше n” Имеем (ispr n m) истинно, во первых, если n=m, и во-вторых, если истинно (ispr n m+1)и n не делится на m. решение. Осталось Нам написать вспомогательную функцию – привожу «скелет» функции: (defun ispr (n m) (cond ((= n m) ?) ((zerop (mod n m)) ?) (t ?) ) ) Нам осталось только вместо ? вставить необходимый код. Блин не могу допетрить. |
Сообщ.
#2
,
|
|
|
Каноническая истина - символ T, ложь - символ NIL.
(defun ispr (n m) (cond ((<= n m) t) ((zerop (mod n m)) nil) (t (ispr n (1+ m))))) |
Сообщ.
#3
,
|
|
|
Alexey Dejneka, спасибо за помощь. +
Добавлено Но может и такой листинг программы быть. Цитата (defun ispr (n m) (let((r(rem n m))) (if(zerop r) m (ged m r)))) (defun ispr (n m+1)) #'(lambda(x)(funcall n (funcall m+1x)))) (funcall(n-ispr#'1 rem n)m)) |