两种简单方法写出那波菲契数列
那波非切数列:
1,1,2,3,5,8,13…………
即任意一项的数值等于前两项之和
arr[i]=arr[I-1]+arr[I-2]
第一种方法可以使用递归函数写:
//利用递归函数求斐波那契数列
function fib(n){
//第一项和第二项的值是1
if(n==1||n==2){
return 1
}
//其他项的值
return fib(n-1)+fib(n-2)
}
第二种方法可用循环结构写:
先定义第一项和第二项都是1;
从第二项开始向后不断更新n1和n2
function fib_2(n){
var n1=1;
var n2=2;
//从第三项开始往后移动
for(var i = 3;i<=n;i++){
//每次n1和n2往后移动一位
//新的n2的值等于前两项之和
//新的n1的值等于旧的n2的值
var c = n2;
n2 = n1+n2;
n1 = c;
console.log(n2)
}
}
fib_2(20)
本文地址:https://blog.csdn.net/weixin_47065927/article/details/107391536
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论