3种著名数列的autolisp实现
本文给出的是autolisp的实现。autolisp作为lisp的一门方言,基本上与common lisp没有差异, 对本文代码稍加修改,即可应用于common lisp的interperter。
斐波那契数列
百度百科给出的解释如下:
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci) 以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
在数学上,斐波那契数列的递推定义:
斐波那契数列的autolisp的实现:
帕多瓦数列
帕多瓦数列(Padovan sequence),与斐波那契数列类似, 指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、55……
在数学上,帕多瓦数列的递推定义:
帕多瓦数列的autolisp的实现:
Newman-Conway数列
Newman-Conway数列, 指的是这样一个数列:1 1 2 2 3 4 4 4 5 6 7 7……
在数学上,Newman-Conway数列的递推定义:
|
|
Newman-Conway数列的autolisp的实现:
结语
本文代码没有对输入值进行合法性检查,调用相关函数前应做好校验,防止陷入无限循环。
文章作者 Jack Hsu
上次更新 2022-01-20
许可协议 Copyright © Jack Hsu. All Rights Reserved.