作者sjgau (sjgau)
看板Cad_Cae
标题Re: [心得] AutoLISP 的 Hello, world!\n
时间Sun Nov 20 17:05:22 2005
指令: (load "f03")
no= 1, ratio= 1.0
no= 2, ratio= 2.0
no= 3, ratio= 1.5
no= 4, ratio= 1.66667
no= 5, ratio= 1.6
no= 6, ratio= 1.625
no= 7, ratio= 1.61538
no= 8, ratio= 1.61905
no= 9, ratio= 1.61765
no= 10, ratio= 1.61818
no= 11, ratio= 1.61798
no= 12, ratio= 1.61806
no= 13, ratio= 1.61803
no= 14, ratio= 1.61804
no= 15, ratio= 1.61803
no= 16, ratio= 1.61803
no= 17, ratio= 1.61803
no= 18, ratio= 1.61803
no= 19, ratio= 1.61803
no= 20, ratio= 1.61803
no= 21, ratio= 1.61803
no= 22, ratio= 1.61803
no= 23, ratio= 1.61803
no= 24, ratio= 1.61803
no= 25, ratio= 1.61803
no= 26, ratio= 1.61803
no= 27, ratio= 1.61803
no= 28, ratio= 1.61803
no= 29, ratio= 1.61803
no= 30, ratio= 1.61803
31
; file: f03.lsp
;| 费氏数列前後项的比值
把费氏数列中的每一项用前一项来除,我们得到一个新数列:
1, 2, 1.5, 1.67, 1.6, 1.63, 1.615, 1.619, 1.618, ..... |;
(defun f03 (no /)
(cond
((<= no 0) 1)
((= no 1) 1)
(t (+ (f03 (- no 2)) (f03 (- no 1))))
)
) ; end of f03()
; main() begin here
; for no= 1 to 30 do ...
(setq no 1)
(while (<= no 30)
(setq n1 (f03 (- no 1)))
(setq n2 (f03 no))
(setq x (/ (float n2) (float n1)))
(princ (strcat "no= " (itoa no) ", ratio= "))
(princ x)
(princ "\n")
(setq no (1+ no))
) ; end of while()
; end of main()
※ 引述《HiEArO (xsd)》之铭言:
: 谢谢你仔细的回答 我是第一次执行lisp程式
: 不晓得执行的流程
: ※ 引述《sjgau (sjgau)》之铭言:
: : 以下,应该是 正确的
: : (defun f2(n / )
: : ;
: : )
: : 我把 函数名称改成 f2
: : 执行的方法是
: : (load "tmp.lsp")
: : (f2 10)
: 这两行可以说是关键所在
: 我之前是有load进去,但是不晓得怎麽跑
: 经过第二行和以下执行结果的示范
: 我了解了 非常感谢回答 你的解答真的很详细
: 若可以的话 可以教教我DEFINE的用法吗?谢谢
: : 还有,第0项 和 第1项的答案都是 1
: : 还有,为了担心 n < 0
: : 所以,
: : if (n <= 0) return 1;
: : 令: (f2 0)
: : 1
: : 指令: (f2 1)
: : 1
: : 指令: (f2 2)
: : 2
: : 指令: (f2 3)
: : 3
: : 指令: (f2 5)
: : 8
: : 指令: (f2 10)
: : 89
: : 指令: (f2 20)
: : 10946
: : 指令: (f2 25)
: : 121393
: : 指令: (f2 30)
: : 1346269
: : (defun f2 (n / )
: : (cond ((<= n 0) 1)
: : ((= n 1) 1)
: : (t
: : (+ (f2 (- n 1))
: : (f2 (- n 2))
: : )
: : )
: : )
: : )
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.243.237.65
1F:推 HiEArO:原来费氏数列还有这种特性~ 11/20 18:56
3F:推 mindau:大师拜倒,我还在 try 11/22 01:14