Jotter <2026-03-12 Thu>

(let ((a 1)
      (b 3)
      (c 2))
  (list (/ (+ (- b) (sqrt (- (* b b) (* 4 a c))))
           (* 2 a))
        (/ (- (- b) (sqrt (- (* b b) (* 4 a c))))
           (* 2 a))))
(-1.0 -2.0)

(let ()
  99)


;; + - * / sqrt




(and (or nil 45)
     (or (not nil)
         "maybe"))

(and 45
     (or (not nil)
         "maybe"))

(and 45 t)

t

(and 45 t)

t

(defun announce-bananas (n)
  (format t
          "We have ~a bananas today."
          (if (> n 0)
              "some"
              "no")))

(announce-bananas 23)We have some bananas today.NIL
(announce-bananas 0) We have no bananas today.NIL

(multiple-value-bind (times remainder)
    (floor 77 4)
  (format nil "Four goes into seven ~r time~p with ~r left over"
          times times remainder))
"Four goes into seven nineteen times with one left over"
"Four goes into seven one time with three left over"

(let ((times (floor 77 4)))
  times)
19

(defun auc-grade (p)
  (cond ((>= p 90 )  "A+")
        ((>= p 82.5) "A")
        ((>= p 77.5) "A-")
        ((>= p 72.5) "B+")
        ((>= p 69)   "B")
        ((>= p 66.5) "B-")
        ((>= p 63.5) "C+")
        ((>= p 58.5) "C")
        ((>= p 55)   "C-")
        ((>= p 53)   "D+")
        ((>= p 51)   "D")
        ((>= p 45)   "D-")
        (t           "F")))

(defun sum-n (n)
  (if (zerop n)
      0
      (+ n (sum-n (1- n)))))

(defun sum-n-acc (n &optional (acc 0))
  (declare (optimize (speed 3))
           (fixnum n acc))
  (if (zerop n)
      acc
      (sum-n-acc (1- n) (+ n acc))))

(sum-n-acc 8) 36
(sum-n-acc 3000) 4501500

(defun test ()
  (or (= 0 (my-length ()))
      (= 1 (my-length '(a)))
      (= 2 (my-length '(a b)))
      (= 3 (my-length '(a b c)))))

(defun my-length (ns)
  "Return the length of a list of numbers"
  (cond ((null ns) 0)
        ((consp ns) (+ 1 (my-length (rest ns))))))

(my-length '(1 2 3 4 5)) 5
(my-length '(a))1
(test) T

(consp nil) NIL
(consp '( a bc d)) T

(defun fact (n)
  "The factorial function"
  (if (zerop n)
      1
      (* n (fact (- n 1)))))
def sum_n(n, acc=0):
    if n == 0:
        return acc
    else:
        return sum_n(n - 1, n + acc)

Author: Breanndán Ó Nualláin <o@uva.nl>

Date: 2026-03-12 Thu 13:03