为了账号安全,请及时绑定邮箱和手机立即绑定

如何用js打斐波那契数列

如何用js打斐波那契数列

白玉有瑕 2016-12-02 20:50:55
查看完整描述

3 回答

?
qq_青枣工作室_0

TA贡献446条经验 获得超754个赞

斐波那契数列:1、1、2、3、5、8、13、21、34、……

使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1。

<!DOCTYPE html>
<script>
	function fibonacci(n) {
		if(n<=2) return 1;
		else return fibonacci(n-1) + fibonacci(n-2);
	}
	
	// 测试
	for(var i=1; i<=10; i++) {
		document.write(fibonacci(i) + ' ');
	}
</script>


查看完整回答
3 反对 回复 2016-12-03
?
暗街灯

TA贡献4条经验 获得超0个赞

function fn(n){
if(n==1|n==2){
return 1;}//因为斐波那契数列格式为:1、1、2、3、5、8、13、21、34、……,n=1和n=2的时候都是输出1
return fn(n-1)+fn(n-2);
//不断调用自身函数,n-1是穿进去的参数的前一次,就是最后n的前一个数字。所以n-2是最后传入参数的前两个数字。
}
//用函数写出斐波那契数列
var n=parseInt(prompt('请输入一个数字'))
var a1=1;
var a2=1;
var a3=0;
for(var i=2;i<=n;i++){//因为前两个数都是1,所以要从i=2开始,就是前两个数的1+1=2,i的初始值其实是第三个数
a3=a1+a2;//第三个数等于第一个数加上第二个数
a1=a2;//第一个数就变成了之前的第二个数
a2=a3;//第二个数就变成了刚刚的第三个数
}
console.log(a3);
//使用for循环写出斐波那契数列


查看完整回答
反对 回复 2017-04-01
?
白玉有瑕

TA贡献1条经验 获得超0个赞


vdocument.write('<br />斐波那契数列<br />')

  var a,b,c;

  a=b=1;

  document.write(a+'<br />');

  document.write(b+'<br />');

 for(var i=0;i<20;i++)

{

  c=a+b;

  document.write(c+'<br />');

  a=b;

  b=c;

  }

查看完整回答
反对 回复 2016-12-17
  • 3 回答
  • 1 关注
  • 2051 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号