Lisp
даны два двоичных числа в виде списков....нужно их сложить..результат должен выводиться так же в виде списка...
|
в числе 8 бит?
|
да....
|
(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.