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>
暗街灯
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循环写出斐波那契数列
白玉有瑕
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;
}
添加回答
举报
0/150
提交
取消
