• js写出斐波那契数列


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

    函数:

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

    for循环:

    从底层向上运算, 

    a(0)+a(1)->a(1) //第0个数字+第1个数字=第2个数字
    a(1)+a(1)->a(2) //第1个数字+第2个数字=第3个数字
    a(2)+a(3)->a(5) //第2个数字+第3个数字=第4个数字
    ······
    a(n-1)+a(n-2)->a(n)

    因此,在循环中只要定义三个变量,便能将最后的f(n)求出来

    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循环写出斐波那契数列
  • 相关阅读:
    php将汉字转换为拼音和得到词语首字母(一)
    json字符串、json对象、数组之间的转换
    nginx配置详解(转)
    layer弹出层效果
    Ajax最详细的参数解析和场景应用
    bootstrap table使用指南
    JS的内置对象
    ThinkPHP导出CSV、Excel
    ThinkPHP的易忽视点小结
    sublime text 删除插件
  • 原文地址:https://www.cnblogs.com/chrischan/p/6654290.html
Copyright © 2020-2023  润新知