著名数列及其算法(斐波拉契)

1、斐波那契数列2、帕多瓦数列
3、卡特兰数4、Look-and-say 数列
5.递推数列

1、斐波那契数列
斐波那契数列,又称黄金分割数列、因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,提出时间为1202年。

指的是这样一个数列:1、1、2、3、5、8、13、21、34、…;在数学上,

斐波那契数列以如下被以递归的方法定义:
F(1)=1, F(2)=1, F(n)=F(n-1)+F(n-2) (n>2,n∈N*)。

方法一:递归方法
function f(n) {
if ( n1 || n2 ){
return 1;
}else{
return f(n-1) + f(n-2);
}
}
console.log(f(6));
方法二:动态规划方法(性能得到优化)
function fibonacci(n) {
let n1 = 1,
n2 = 1,
sum = 1;
for(let i = 3; i <= n; i += 1) {
sum = n1 + n2;
n1 = n2; //往后移动一位数
n2 = sum
}
return sum
}
console.log(fibonacci(5));

2、帕多瓦数列
帕多瓦数列是由帕多瓦总结而出的。
它和斐波拉契数列非常相似,稍有不同的是:每个数都是跳过它前面的那个数,并把再前面的两个数相加而得出的。
它的特点为从第四项开始,每一项都是前面2项与前面3项的和。
即x=(x-2)+(x-3),x为项的序数(x>4)。

帕多瓦数列是:1,1,1,2,2,3,4,5,7,9,12,16,21,28,37,49,65,86,114,151……

3、卡特兰数
卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名,

其前几项为(从第零项开始) :
1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700,

卡特兰数Cn满足以下递推关系 :
设h(n)为catalan数的第n+1项,令h(0)=1,h(1)=1,catalan数满足递推式 [2] :
h(n)= h(0)*h(n-1)+h(1)*h(n-2) + … + h(n-1)*h(0) (n>=2)

5、递推数列
递推数列是可以递推找出规律的数列,找出这个规律的通项式就是解递推数列。求递推数列通项公式的常用方法有:公式法、累加法、累乘法、待定系数法等共十种方法。

1)等比数列(一般地,如果一个数列从第2项起,每一项与它的前一项的比等于同一个常数,这个数列就叫做等比数列)
An=A1q(n-1)可以表示为:An=qA(n-1);

2)等差数列(一般地,如果一个数列从第2项起,每一项与它的前一项的差等于同一个常数,这个数列就叫做等差数列)
an=a1+(n-1)d

3)等和数列(在一个数列中,如果每一项与它的后一项的和都为同一个常数,那么这个数列叫做等和数列,这个常数叫做该数列的公和。)
d=an-an-1 (n≥2)

4)大衍数列 0、2、4、8、12、18、24、32、40、50------
通项式:
an=(n×n-1)÷2 (n为奇数)
an=n×n÷2 (n为偶数)

4、Look-and-say 数列

Look-and-say 数列是数学中的一种数列,它的名字就是它的推导方式:给定第一项之后,后一项是前一项的发音。
1983年11月,在英国剑桥大学教书的著名数学家约翰·霍顿·康威(John Horton Conway) 首先发现了Look-and-say的奥秘

如果我们把 1 作为Look-and-say 数列的第一项,那么,它的前几项是这样的:
1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, …

在确定了Look-and-say 数列的第一项之后,就可以根据前一项确定后一项的值了,在上面的示例中,我们把 1 作为此种数列的第一项,那么,就可以这样来推导它的其余项了:

第1个是 1 时,记作 1;
第2个是读前一个数 “2 个1”, 记作 21;
第3个是读前一个数 “1个2, 1个1”, 记作 1211;
第4个是读前一个数 “1个1,1个2,2个1”, 记作 111221;

当 d =22 时,很尴尬的事情发生了,Look-and-say 数列的前几项是:
22, 22, 22, 22,22, …

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值