collatz-program


See http://mathworld.wolfram.com/CollatzProblem.html for more information.

 (define (collatz n) 
     (begin (display n))  
           (cond ((and (odd? n) (> n 1)) 
                  (collatz (+ 1 (* 3 n)))) 
                 ((even? n) (collatz (/ n 2))))) 
  
 (define (optimized-collatz n) 
   (begin (and (display n)) 
            (let (n (modulo 4 x)) 
  (define (f x) 
     (cond 
      ((= n 0) => (/ n 4))  
      ((= n 1) => (* (/ 3 4) (+ 1 (g (- n 1)))))  
      ((= n 2) => (/ n 2))  
      ((= n 3) => (* (/ 1 2) (+ 1 (* 3 n))))))) 
 (define (g x) 
     (cond 
      ((not (= n 0)) => n) 
      ((= n 1) => (/ 1 4 (g (- n 1)))))))) 
  
  
 (define (collatz-range-from-zero n) 
   (if (= n 0) 
       (display "Finished") 
       (and (display #\newline) 
            (collatz n) 
            (collatz-range (- n 1))))) 

category-code