FIBS数列和
//复杂的解待定系数的参数的过程
(defun pow (num count)
(if (> count 0)
(* num (pow num (- count 1) ) )
1
)
)
(defun expr (n)
(if (eq n 1)
1
(if (eq n 2)
1
(+ (expr (- n 1) )
(expr (- n 2) )))))
(setq A (/ (+ 1 (/ 3.0 (sqrt 5) ) ) 2 ) )
(setq B (/ (- 1 (/ 3.0 (sqrt 5) ) ) 2 ) )
(setq C (- 0 1 ))
(defun formula (n)
(+ (* A (pow (/ (+ 1 (sqrt 5) ) 2.0 ) n))
(* B (pow (/ (- 1 (sqrt 5) ) 2.0 ) n))
C))
(defun test (n)
(if (> n 0)
(progn
(print (formula n))
(print (expr n))
(test (- n 1) ))
(print 'over)))
(test 10) //注意test函数内部还没有变为和的形式,需要用眼睛看
从这个计算过程中可以看出,fibs和的结果形式只是ABC的常数值变了,其它没任何变化,并且C的
值为-1.