一道js算法题

2016/12 01 09:12
此文章不得转载,如有需要请联系网站管理员。

一度的温暖,一百度的爱情,来自于www.bwin2299.com的点点滴滴

求1到100的质数和,后果不同错误啊…大神看看那边错了

除了楼上提到的应该在第一个 for 后面,每个数重置一下 amount = 0之外,内层的for循环

for j<=1;j<=i;j++

应该也是有题目的。j<=1,起首j没有声明,会报错Uncaught ReferenceError: j is not defined…,其次就算声明白var j;,也会前往一个false,由于<=是判别而不是赋值。

颠末修正后的代码应该是:

var sum = 0;
for var i = 1; i <= 100; i++ {
    var count = 0;
    for var j = 1; j <= i; j++ {
        if !i % j {
            count++;
        }
    }
    if count == 2 {
        sum += i;
    }
}

alertsum;

你的 amount 变量放在最外层了,不断在添加,应该在第一个 for 后面,每个数重置一下 amount = 0

埃拉托斯特尼筛法谋略质数和
function getPrimesn {
    if n < 2 || n > 1000000 return;
    var array = Array.from{
        length: n
    }, functionv, k {
        return 0
    };
    array[0] = 1;
    array[1] = 1;
    for var i = 2; i < Math.sqrtn; i++ {
        if array[i] == 0 {
            for var j = i * i; j < n; j += i {
                array[j] = 1;
            }
        }
    }
    var sum = 0;
    array.forEachfunctionitem, i {
        item === 0 ? sum += i : ;
    }
    return sum;
}

(看完/读完)这篇文章有何感想! 来看看www.bwin2299.com是怎么评论的吧!

--转载请注明: bwin2299必赢亚洲_www.bwin2299.com_bwin2299必赢亚洲世界顶级公司 » 一道js算法题

发表评论

(必填)