js for循环有规律分数值求和

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

慕粉3915648
浏览 3318回答 4
4回答

十月海洋

递归算法,高效准确,代码如下:var fun=function(index){            //对前两项进行数值判定            if (index <=2) {                return index;            }            else {                return fun(index - 1) + fun(index - 2);         }       }                 for (var i = 1; i <= 20; i++) {            console.log(fun(i + 1) + '----' + fun(i));            /*输出的结果如下:            2----1            3----2            5----3            8----5            13----8            21----13            34----21            55----34            89----55            */        }一旦你能够得到每项的数字,算和的话,只需要依次累加就可以了,希望对你有所帮助

阿旭_

设置行变量为i,分子为a,分母为b,观察行i   分子a    分母b0      2          1    (所以代码初始化值应该是这三个值)1     3(2+1)    22    5(3+2)    33     8        54       13     8double sum = 0;//累加器,求每一项的和 for(int i=0,a=2,b=1;i<20;i++){      sum = sum + 1.0*a/b ;//累加当前分数      /*为下一次累加做准备,即:改变分子分母的值*/      int t = a ;//临时保存分子的值      a = a + b ;//根据规律分子的值为a+b      b = t ;//根据规律分母的值应该是分子的值,而分子的值已发生变化所以用之前保存的t来代替即可。 }   

慕粉3456840

function addAll(a,b,n)//a 分子 b 分母 {    var total=0,tmp=0;    for(var i=0;i<n;i++)    {        total+=a/b;        tmp=a;        a=a+b;        b=tmp;    }    return total;}console.log(addAll(2,1,20));就可以了

宝慕林9293779

首先这个你要先找规律。第二个数的分母是第一个的分子,第二个数的分子是第一个数的分子加分母之和。自己动手丰衣足食
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript