大整数Fibonacci序列在第36个阶段发散:项目Euler#25

时间:2014-02-01 20:50:55

标签: javascript node.js biginteger fibonacci

所以我试图通过this module的大整数强力方法解决项目euler#25。一切似乎都要正常,直到第36个学期,实际上会减少。然后这些术语按它们应该增加,然后再次减少;他们从未超过1000万。我还注意到第36个术语的所有数字都是正确的,除了一个因为它应该是14930352但我得到4930352这可能是我的代码有问题还是模块中的错误?

var bigInt = require('big-integer');
var number = bigInt(1);
var last = bigInt(1);

for(i=0;i<50;i++){
  number = number.add(last);
  last = number.minus(last);
  console.log(number.toString());
}

1 个答案:

答案 0 :(得分:1)

看起来像库中的错误。如果使用tmp变量,它可以正常工作。

var bigInt = require('big-integer');
var number = bigInt(1);
var last = bigInt(1);

for(i=0;i<50;i++){
  //number = number.add(last);
  //last = number.minus(last);

  var tmp = number.add(last);
  last = number;
  number = tmp;
  console.log((i + 3) + ":" + number.toString());
}