Javascript 显示特定范围内的所有素数

Javascript 显示特定范围内的所有素数,javascript,primes,Javascript,Primes,我希望看到从开始(2)到结束(根据我的设置)的所有素数 var nums=[2]; 对于(变量i=3;i

我希望看到从开始(2)到结束(根据我的设置)的所有素数

var nums=[2];
对于(变量i=3;i<103;i++){
对于(变量x=0;x

我不明白prolem是什么。

每次不能除以任何前面的数字时,你都要在nums中加上“I”。因此添加了“4”,因为它不能被“3”除“5”被添加3次,因为它不能被“2”、“3”或“4”除,“6”被添加4次,因为它不能被“4”(1次出现)或“5”(3次出现)除。所以实际上你的算法就是把所有的数字加上几倍,大约是每个数字上“nums”数组大小的两倍

因此,有两个答案:

  • 它不能像您预期的那样工作,因为您将“when any”而不是“when all”添加到nums中

  • 它崩溃是因为它需要包含2^100个元素的数组(这需要大量内存)


  • 也许你可以描述一下你想做什么,以及为什么你认为这可以解决问题。换言之,用手研究你的公式,看看为什么它是无限循环的。那么,问题是什么?你期待什么,会发生什么?你试图解决什么问题?你试了多久了?
    var nums = [2];
    for (var i = 3; i < 103; i++) {
        for (var x = 0; x < nums.length; x++) {
            if (i % nums[x] != 0) nums.push(i);
        }
    }
    $("body").append(nums);