syracuse.scm (290B)
1 (defn! syracuse (n) 2 (do 3 (print! n) 4 (if (= n 1) n 5 (if (= (% n 2) 0) 6 (syracuse (/ n 2)) 7 (syracuse (+ (* 3 n) 1)))))) 8 9 (defn! syracuse-len (n) 10 (if (= n 1) 1 11 (+ 1 (syracuse-len (if (even? n) (/ n 2) (fma 3 n 1))))))