Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






В) (SLIST n) — розклад числа n на прості множники. Як результат виконання функції повернути список простих чисел, добуток яких дорівнює n.




$ (DEFUN SLIST (n)

(SETQ k n lst NIL)

(LOOP

((= k 1) lst)

(SETQ l 2)

(LOOP

((ZEROP (CDR (DIVIS k l)))

(INCQ l)

(PUSH l lst)

(SETQ k (/ k l))

))

SLIST

 

д) (SUMFACT n) – сума 1/0! + 1/1! +... + 1/n!.

$ (DEFUN SUMFACT (n)

(SETQ r 0 l 1)

(LOOP

((= l (+ n 1)))

(SETQ r (CDR (divis (* 10 r) n)))

(INCQ l)

)

(SETQ c r r (CDR (divis (* 10 r) n)) k 0)

(LOOP

((= r c))

((SETQ r (CDR (divis (* 10 r) n))))

(INCQ k)

)

(+ k 1))

SUMFACT

 

UNITE lst1 lst2). Злити два не спадні списки lst1 та lst2 в один не спадний список.

(DEFUN UNITE (lst1 lst2)

((NULL lst1) lst2)

((NULL lst2) lst1)

((<= (CAR lst1) (CAR lst2)) (CONS (CAR lst1) (UNITE (CDR lst1) lst2)))

((> (CAR lst1) (CAR lst2)) (CONS (CAR lst2) (UNITE lst1 (CDR lst2)))))

UNITE

 

5. Написати функцію:

А) (BINARY n) – кількість знаків у двійковому представленні числа n.

$ (DEFUN BINARY (n)

((= n 0) 1)

(SETQ c 0)

(LOOP

((= n 0) c)

(SETQ n (SHIFT n -1)) (INCQ c)

))

BINARY

 

Б) НСД та НСК двох чисел за алгоритмом Евкліда.

НСД(a, b) = НСД(a - b, b), якщо a>b,

НСД(a, b - a), якщо a<b,

a, якщо a = b.

$ (DEFUN NOD (a b)

((= a b) a)

(IF (> a b) (NOD (- a b) b)

(NOD (- b a) a)

))

(DEFUN NOK (a b)

(/ (* a b) (NOD a b)))

NOD NOK

 

В) НСД двох чисел за модифікованим алгоритмом Евкліда.

НСД(a, b) = НСД(a mod b, b), якщо a>b,

НСД(a, b mod a), якщо a<b,

a, якщо b = 0.

b, якщо a = 0.

$ (DEFUN NODM (a b)

((ZEROP a) b)

((ZEROP b) a)

(IF (> a b) (NODM (MOD a b) b)

(NODM (MOD b a) a)

))

NODM

 

Г) (INVERTBIT a n) – обернути n-ий біт числа a.

$ (DEFUN INVERTBIT (a n)

(SETQ s (SHIFT 1 (SUB1 n)))

(LOGXOR a s)

)

INVERTBIT

 

Д) (EQ2 a b c) – розв’язати квадратне рівняння.

$ (LOAD 'irratnal)

$ (DEFUN eq2 (a b c)

(SETQ d (- (* b b) (* 4 a c))))

eq2

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных