JS解决斐波那契数列,生兔子问题

斐波那契数列是一个奇妙的数列,我们可以用程序模拟该过程

题目:请写出一个函数,该函数会返回第 n 个斐波那契数。

我是用数学把 斐波那契 模拟出来

function fobonacci(i){
	if(!(i-1)||!(i)){//解决前两个毫无规律的数 0,1
		return i
	}
	var q = 0,//定义前两个数q,h分别为0,1
		z = 0,//用于帮助q,h往后移
		h = 1;
	i--;//初始化i
	while(i){//循环进行运算
		z = h;
		h = z + q;
		q = z;
		i--;   
	}
	return h;	
}

比较经典的写法是用递归

function fobonacci(i){
    if(i < 2)return i;
    return fobonacci(i-1) + fobonacci(i-1);
  //return i < 2 ? i : fobonacci(i-1) + fobonacci(i-1);两行合成一行
}

递归要加强训练了。

猜你喜欢

转载自blog.csdn.net/qq_41995398/article/details/103880990