当前位置:编程学习 > 网站相关 >>

Common Lisp --- 计算 3x+1 问题

print? 

[ruby]
(defun x-test (x) 
  (when (not (= x 1)) 
    (cond 
      ((= 1 (mod x 2)) 
       (format t "3*~d+1=~d~%" x (+ 1 (* 3 x))) 
       (x-test (+ 1 (* 3 x)))) 
      ((= 0 (mod x 2)) 
       (format t "~d/2=~d~%" x (/ x 2)) 
       (x-test (/ x 2)))))) 

(defun x-test (x)
  (when (not (= x 1))
    (cond
      ((= 1 (mod x 2))
       (format t "3*~d+1=~d~%" x (+ 1 (* 3 x)))
       (x-test (+ 1 (* 3 x))))
      ((= 0 (mod x 2))
       (format t "~d/2=~d~%" x (/ x 2))
       (x-test (/ x 2))))))运行结果:


 

\
补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,