;General (defun l () (load "1.lisp")) ;P1 1-2 (defun Random-Range (x y) (+ (random (+ (- y x) 1)) x )) ;(Random-Range 3 7) ;P1 1-3 ;Square function (defun Square (x) (* x x)) (defun Sum-of-Squares (lst) (apply #'+ (mapcar #'Square lst))) ;(Sum-of-Squares '(1 2 5)) ;P1 1-4 (defun First+Last(lst) (cons (car lst) (my-last (cdr lst) nil))) ;(First+Last '(1 2 3 4)) (defun my-last (lst last) (if lst (my-last (cdr lst) (car lst)) last)) ;(my-last '(1 2 3 4) NIL) ;P1 1-5 (defun Fibonacci (n) (if (equal n 0) 0 (my-Fibonacci (- n 1) 0 1))) ;(Fibonacci 7) (defun my-Fibonacci (n p pp) (if (equal n 0) (+ p pp) (my-Fibonacci (- n 1) (+ p pp) p))) ;(my-Fibonacci 5 1 0) ;P1 1-6 (defun Fibonacci-loop (n) (progn (setf p 0) (setf pp 1) (setf n (- n 2)) (loop for i from 0 to n do (progn (setf bak pp) (setf pp (+ p pp)) (setf p bak) (print pp) )))) ;(print (Fibonacci-loop 7)) ;P1 1-7 (defun my-Remove (tst lst) (if lst (if (not(eql (car lst) tst)) (cons (car lst) (my-Remove tst (cdr lst))) (my-Remove tst (cdr lst))))) ;(print (my-Remove 'a '(b a n a n a)))