jay*_*e32 6 javascript fibonacci
我创办了Project Euler.我遇到了问题2并提出了这个代码来得出甚至斐波那契数字达到400万的总和.代码似乎完全符合我的要求.我确实看到代码运行时列出了正确的总和.我真正感到困惑的唯一部分是结果中显示的最后一个数字.这就是它所显示的:
JS代码:
var previous = 0;
var current = 1;
var sum = 0;
var next;
for(i = 1; i < 100; i++){
next = current + previous;
previous = current;
current = next;
if(current % 2 === 0 && current < 4000000) {
sum += current;
console.log(sum);
}
}
Run Code Online (Sandbox Code Playgroud)
结果:
2
10
44
188
798
3382
14328
60696
257114
1089154
4613732 (this is the number i was trying to get)
=> 354224848179262000000 (confused as to why this number shows up and what it represents)
Run Code Online (Sandbox Code Playgroud)
小智 6
让我打破这个:
在控制台上,您将看到执行的任何表达式的结果.如果执行一段代码,您将看到在块中执行的最后一个表达式.直观地说,在这种情况下,它是current = next因为if语句不是你最后一次通过for循环运行的结果.
第百个斐波纳契数是354224848179261915075.然而,当您的数字超过某个点并开始假设您的数字的所有较低部分为零时,JavaScript会失去精确度.有关移动详细信息,请参阅此问题:为什么JavaScript认为354224848179262000000和354224848179261915075相等?.
| 归档时间: |
|
| 查看次数: |
2757 次 |
| 最近记录: |