斐波那契数列(递归的方式和循环的方式)

斐波那契数列:

1, 1, 2, 3, 5, 8, 13,  21, 34


需求:求出斐波那契数列中的前40个数。


分析:

                n1    n2  n3

  n1   n2   n3
   1, 1, 2,  3,   5, 8, 13,  21, 34
         n1   n2    n3

                n1    n2  n3


循环的代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body >
	<input type="button" value="测试"  onclick="fbnq()" /><br/>
</body>
</html>
<script type="text/javascript">
/*
           n1  n2  n3
  n1   n2  n3
// 1, 1, 2, 3, 5, 8, 13,  21, 34
       n1  n2  n3
	       n1  n2  n3
*/

//循环显示斐波那契数列中前40个数
function fbnq(){
	var n1 =1;
	var n2 =1;
	var n3 = n1+n2;
	var str="1,1,2,";
	for(var i=0;i<37;i++){
		n1=n2;
		n2=n3;
		n3 = n1+n2;
		str=str+n3+",";
	}	
	console.log(str);
}	
		   
</script>

递归的方式,求第n个斐波那契数列的数

//n3=n2+n1;
//求第n个斐波那契数。
function fbnq(n){
	if(n==1 || n==2){
		return 1;
	}else{
		return fbnq(n-2)+fbnq(n-1);
	}
}

猜你喜欢

转载自blog.csdn.net/jiang7701037/article/details/80188101