首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Euler项目,编号2

Euler项目,编号2
EN

Stack Overflow用户
提问于 2015-08-11 18:56:35
回答 2查看 252关注 0票数 1

所以,我对javascript还不熟悉,在完成了关于codecademy的JS单元之后,我正在通过Project Euler来获得对语言的更好的感觉。问题是我被第二次挑战困住了。在这点上我觉得很蠢。问题是找到所有小于400万的偶数斐波那契数之和。

代码语言:javascript
复制
var fib = [1,2];
var stack = [];

for (i = 2; i < 4000000; i++) {
    fib[i] = fib[i - 1] + fib[i - 2];
}

那部分起作用。我正在使用JSFiddle,它将打印出高达400万的斐波纳契序列。问题是下一部分:

代码语言:javascript
复制
for (j = 0; j < fib.length; j++) {
    if (fib[i] % 2 === 0) {
        stack[j] = fib[i];
    }
}

我在for循环内部和外部都尝试过这一点,但我无法理解这一点。我有种感觉,我错过了一些显而易见的东西。任何帮助都将不胜感激。谢谢:D

编辑:我想明白了。谢谢大家!我所做的是:

代码语言:javascript
复制
var total = 0;
var fib = [1, 2];

//In my first attempt, I made a set of the first 4,000,000
//fibonacci numbers. I just left the "4000000" there
//arbitrarily.
for (i = 2; i < 4000000; i++) {
    //This makes sure that I don't go over 4000000 in the array.
    if (fib[i - 1] < 4000000) {
        fib[i] = fib[i - 1] + fib[i - 2];
    }
}

for (j = 0; j < fib.length; j++) {
    if (fib[j] % 2 === 0) {
        total += fib[j];
    }
}

alert(total);

它打印出正确的答案!哇哦。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-11 19:28:01

我看到了一些问题。

你说你想找出所有连斐波那契数之和?我没有必要将偶数结果放到另一个数组中,然后处理它们。试着做这样的事情:

代码语言:javascript
复制
var fib = [1,2];
var result = 0;

for (i = 2; i < 4000000; i++) {
    fib[i] = fib[i - 1] + fib[i - 2];
}

for (j = 0; j < fib.length; j++) {
    if(fib[j] % 2 == 0){
        result = result + fib[j];
    }
}

其次,你可以把它说成“连斐波那契数都少于400万”。你确定他们要的是前400万斐波纳契数,还是低于400万的斐波纳契数?

票数 -1
EN

Stack Overflow用户

发布于 2015-08-11 19:10:54

替换这个

代码语言:javascript
复制
for (j = 0; j < fib.length; j++) {
    if (fib[i] % 2 === 0) {
        stack[j] = fib[i];
    }
}

有了这个

代码语言:javascript
复制
for (j = 0; j < fib.length; j++) {
    if (fib[j] % 2 === 0) {
        stack[j] = fib[i];
    }
}

而且,问题是只需要在4_000_000以下找到斐波纳契数。没有必要创建400万斐波纳契数字。那要花很长时间。试试小一点的,比如70。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31949820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档