Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Lisp (http://www.tehnari.ru/f41/t43461/)

Ler4onok 17.12.2010 18:48

Lisp
 
даны два двоичных числа в виде списков....нужно их сложить..результат должен выводиться так же в виде списка...

kreol 17.12.2010 19:44

в числе 8 бит?

Ler4onok 17.12.2010 20:10

да....

Ler4onok 17.12.2010 20:18

(defun f2 (x y)
(
cond ((null x) (if (null y) nil y))
((null y) (if (null x) nil x))
(t (cons (+ (car x) (car y)) (f2 (cdr x) (cdr y))))
)
)

(defun f (x)
(
cond ((null (cdr x)) (if (< (car x) 10) x (list (- (car x) 10) 1)))

(t (cons (if (< (car x) 10) (car x) (- (car x) 10)) (f (if (< (car x) 10) (cdr x) (rplaca (cdr x) (+ (cadr x) 1))))))
)
)


(defun ff (x y)
(
reverse (f (f2 (reverse x) (reverse y)))
)
)



что_то вроде этого,только для двоичных чисел....


Часовой пояс GMT +4, время: 02:37.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.