斐波那契数列

2018-10-05  本文已影响0人  我的天气很好啦

🍞环境:牛客的编译环境
🍰语言:JavaScript
☕️难点:一说到斐波那契数列,直接习惯性地写出递归地方法,然后今晚就被周说这个方法特别消耗时间,于是我测了一下,真的页面都刷不出来了。。。于是上网查了一下其他人的写法,发现递归可以用循环取代。
🍊题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
🌟解题思路:
在参考了他人利用循环取代递归的方法后,觉得不错,进而改进。
🍓代码:



int fn1 = 1;

int fn2 = 1;

`//考虑出错情况`

if (n <= 0) {

return 0;

}

`//第一和第二个数直接返回`

if(n == 1 || n == 2) {

return  1;

}

`//当n>=3时,走这里,用迭代法算出结果`

`//这里也说明了,要用三个数操作的情况,其实也可以简化为两`

`//个数,从而节省内存空间`

while(n-- >2) {

fn1 += fn2;

fn2 = fn1 - fn2;

`}`

return fn1;

上一篇下一篇

猜你喜欢

热点阅读