与FIB数列相似的递归关系的应用.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
普通递归关系的求解 常州一中 林厚从 一、斐波那契数列: F(n)= F(n-1)+ F(n-2) n2 F(n)=1 n=1,2 这是我们经常见到的递归公式,编程很简单,但是如果 n很大,如到 10^9,则效率很差!这 时我们就必须去探察它的闭公式(通项公式)! 二、看两个例题: 1、例 1:ahoi2004-day1-2 2、 例 2:普通递归关系 三、问题分析: 1、例 1: 首先,我们判断出每行都是变形的斐波那契数列,本质上 A(i,j)只与第 i 行的第一个元素 有关,那么如何求 A(i,1)呢? 我们发现:第一列的增加值是 2 或 3,它们是否有规律呢、是否与斐波那契数列有关呢?仔 细研究发现:第 1 次(第2 行)加 3,后面 2 次(第 3-4 行)分别加 2-3,再后面的 3次(第 5-7) 是前两次加的序列和,即:3-2-3,再往后的 5 次(第 8-12):2-3-3-2-3(5次),3-2-3-2-3-3-2-3 (8 次), 数学上的结论:第一列通项: f(i)=trunc(i*t+i-1),其中:t=(1+sqrt(5))/2 那么问题是否解决了呢?NO!一是数据规模太大,O(N)也超时;下面要去找一个闭公式! 先看例 2 是如何求闭公式。二是这种数列的第一、二项也不是 1、1,处理起来更麻烦。 2、 例 2: 可用等比数列的知识推出Fn 的通项。因为: F(n)= a * F(n-1)+ b * F(n-2) 为了直接推出 F(n)与a,b,n 的关系,我们对上式做如下变形: F(n)- m * F(n-1)=k*( F(n-1)- m * F(n-2)) (1) 这样,我们比较上面的两个式子,知道: a = m + k b= - m*k (2) 对于(2)式,我们应该很敏感,这是数学上的一元二次方程的两个解的关系,即: m,k 为方程 x^2-ax-b=0 的两个根,即: a a± b + 2 4 m,k = (3 ) 2 这样一来,对于(1)式,我们不断代入,得到: F(n)- m * F(n-1)=k^(n-1)*( F(1)- m * F(0)) (4) 同时,我们交换 m 和k,(4)式应该依然成立,所以: F(n)- k * F(n-1)=m^(n-1)*( F(1)- k * F(0)) (5) 然后,(4)式两边乘以 k、(5)式两边乘以 m,再用(4)-(5)得出: n n k( (f mf( ) −m( (f − kf( ) 1) − 0) 1) 0) F (n) = (6 ) k m− 这样,我们就可以直接利用F(n)的通项求解了,但要注意在指数运算中,底数不能为负实 n n 数。但,利用通项做有一个测试点过不去,因为 太大了,超出了Extended 的范围。而题中 k m 或 要求Fn 在 10^9 以内,由此可知F(n)一定是一个周期函数,(如果单调的话,很快就会越界)。 所以也可以利用它的周期性来求解(详见程序2)。 利

文档评论(0)

雨中人 + 关注
实名认证
文档贡献者

这一世渡尽红尘,若有来生,不再为人。

1亿VIP精品文档

相关文档