竞赛
考级
闲的没事的我又来水题解了 骗你的其实这篇题解不水 这道题和A30651.【递推】菲波那契数列很像,只是求出第a向后在%1000。 我有3种方法: 1.递推法: 众所周知斐波那契数列第一项和第二项都是1,所以我们要定义一个数组,将它的第一项和第二项赋值为1: 菲波那契数列的递推公式是f[i]=f[i-1]+f[i-2]; 举个例子: 第5项就是f[5]=f[4]+f[3]就是f[5]=3+2。 注意前两项已经赋值为1了,要从第三项开始推。 最后简单的输入输出,别忘了%1000哦 完整递推代码: 2.递归法: 递归就是函数自己调用自己废话 先看代码: 举个例子:如果x=4。 递归完整代码: 3.公式法: ACGO不能插入公式,所以放的图片。 我都写了这么多了给个赞吧!
斐波那契数列可以用递归和递推的方法来做。 首先,我们要知道递归是什么,递归就函数自己调用自己,由大到小,有一个终止边界,例如: 这个递归代码实现了倒序输出数据。 递推和递归相反,递推是从小到大,递归是从大到小,递推的本质是循环迭代,并不能像递归函数调用自己,就像平常写的for,while循环,例如: 这两个都能实现正序输出数字,这就是递推的原理。 说了这么多,接下来上代码 递归解法: 递推解法: 认真看到最后的给个赞呗!
提交答案之后,这里将显示提交结果~