(defun scalarMul(a b) (cond ((null a) 0) ((null b) 0) ( 1 (+ (* (car a) (car b)) (scalarMul (cdr a) (cdr b))) ) ) ) (defun len(lst) (cond ((null lst) 0) ( 1 (+ 1 (len (cdr lst))) ) ) ) (defun multiply(a b) (cond ((neq (len a) (len b)) nil) (1 (multiply1 (cdr a) (cdr b) (- (+ (len a) (len b)) 2) (cons (car a)) (cons (car b)))) ) ) (defun multiply1(a b n a1 b1) (cond ((= n 0) (cons (scalarMul a1 b1))) ((null a) (cons (scalarMul a1 b1) (multiply1 nil nil (- n 1) (cons '0 a1) (append b1 (cons '0)) )) ) (1 (cons (scalarMul a1 b1) (multiply1 (cdr a) (cdr b) (- n 1) (cons (car a) a1) (append b1 (cons (car b))) )) ) ) ) // кое-ф полиномов (multiply '(2 3 5 6) '(7 8 3 0)) (system)