Using Fixpoint to Solve Mathmatic Equation ( 无限float运算的扩展 stream style)

来源:互联网 发布:淘宝网店一颗心 编辑:程序博客网 时间:2024/05/22 12:32

(defun  mycons  (p  q s)

 

(lambda (x) (funcall  x  p  q s) )

 

)

 

(defun  mycar  (value)

 

(funcall  value  (lambda (x  y z)  x) )

 

)

 

(defun  mycadr  (value)

 

(funcall  value  (lambda (x  y z)  y) )

 

)

 

(defun  mycddr  (value)

 

(funcall  value  (lambda (x  y z)  z) )

 

)

 

(defun   dec  (n )

 

(mycons  n  (/ n  2) (dec  (/  n  4) ) )

 

)

 

(defun calc (n  sum)

 

(if  (< (abs (- (mycar  n) (mycadr n) ) )  (/ 1  10000000))

 

          sum

 

     (progn

 

     (print sum)

 

     (calc  (mycddr n)  (+ sum  (mycar n) (mycadr n) ) )

 

     )

 

)

 

)

 

(calc  (dec  1)  0)

 

(calc  (dec  2)  0)

 

(calc  (dec  3)  0)

 

 

 

原创粉丝点击