javascript - 斐波那契数列 - 计算位数 - JavaScript

标签 javascript fibonacci notation scientific-notation

所以,我已经成功地编写了斐波那契数列来创建一个包含数字序列的数组,但是我需要知道长度(有多少位数字) 第 500 个数字有。

我试过下面的代码,但它找到了科学记数法的长度(22 位),而不是它应该返回的正确的 105。

关于如何将科学记数法数字转换为实际整数有什么想法吗?

var fiblength = function fiblength(nth) {
    var temparr = [0,1];
    for(var i = 2; i<=nth; i++){
        var prev = temparr[temparr.length-2],
            cur = temparr[temparr.length-1],
            next = prev + cur;
            temparr.push(next);
    }
    var final = temparr[temparr.length-1].toString().length;
    console.log(temparr[temparr.length-1]);
    return final;
};
a = fiblength(500);
console.log(a);

最佳答案

为什么不使用将数字除以 10 直到数字小于 1 的简单过程。

像这样简单的东西应该可以工作(递归 def obv 也可以)

function getDigits(n) {
   var digits = 0;
   while(n >= 1) {
      n/=10;
      digits += 1;
   }
   return digits;
}

getDigits(200);//3
getDigits(3.2 * 10e20);//=>22

关于javascript - 斐波那契数列 - 计算位数 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20726578/

相关文章:

javascript - Reactjs 从 Dexie.js 中删除一个项目

java - 递归斐波那契方法的内存不是更快吗?

Haskell:从 getLine 中计算字数,不带 "do"符号

Javascript隐藏显示对象

Javascript 正则表达式 match() 返回匹配的部分(子集)

algorithm - 指数时间复杂度

java - 在 Java 中打印堆栈,以便该数字可用

time-complexity - θ(n) 和 O(n) 有什么区别?

javascript - Knockout js可见绑定(bind)似乎不起作用

ruby - Ruby 中的惰性斐波那契数列