For Loop Max JavaScript

For Loop Max JavaScript,javascript,for-loop,Javascript,For Loop,我刚刚创建了一个素数查找器,它带有一个随时间运行的for循环。现在是167899,并且每秒钟都在增长 for循环可以通过的最大循环数是多少???如果这是一个不虔诚的大数字,我不想整夜等着看我能生成的最大素数是多少 它是无限的吗 这是我的密码: var isNotPrime = false; var currentNumber = 3; var primeArray = [2]; function prime(){

我刚刚创建了一个素数查找器,它带有一个随时间运行的for循环。现在是167899,并且每秒钟都在增长

for循环可以通过的最大循环数是多少???如果这是一个不虔诚的大数字,我不想整夜等着看我能生成的最大素数是多少

它是无限的吗

这是我的密码:

        var isNotPrime = false;
        var currentNumber = 3;
        var primeArray = [2];

        function prime(){
            isNotPrime = false;
            for(a=0; a<primeArray.length; a++){
                if(currentNumber%primeArray[a] === 0){
                    isNotPrime = true;
                }
                if(a===(primeArray.length-1) && isNotPrime ===false){
                        document.write(currentNumber+"<BR>");
                        primeArray.push(currentNumber);
                }
                if(a===(primeArray.length-1)){
                    currentNumber++;
                }
            } 
        }

        var main = setInterval(prime, 1);

        window.alert("Starting search for Prime Numbers!");
var isNotPrime=false;
var currentNumber=3;
变量primeArray=[2];
函数素数(){
isNotPrime=false;

对于(a=0;a而言,循环执行的次数没有上限,因为可以有一个无限循环:

for (var i = 0; i < 1;) { console.log('this will keep running forever' }
for(var i=0;i<1;){console.log('这将永远运行')
(请注意,for循环的
i<1;
之后的增量步长为空,而不是
i++


但是,有一个循环,这可能就是您所追求的。

一个循环可以执行的次数没有上限,因为您可以有一个无限循环:

for (var i = 0; i < 1;) { console.log('this will keep running forever' }
for(var i=0;i<1;){console.log('这将永远运行')
(请注意,for循环的
i<1;
之后的增量步长为空,而不是
i++


但是,有一个,这可能就是您所追求的。

只要长度是整数,它就可以并且将继续循环。 int的最大值为9 007 199 254 740 992。
所以循环有可能运行那么多次。

只要长度是整数,它就可以并且将继续循环。 int的最大值为9 007 199 254 740 992。
因此,循环可能会运行那么多次。

您可能需要使用web worker来防止浏览器中断进程。使用web worker,循环可能会无限期运行(直到计算机停止运行)

正如其他人所指出的,您将遇到处理大量数字的问题。可能有一些方法可以绕过JavaScript中的整数精度限制:

因此,第一个问题的答案是否定的,JavaScript没有定义好的最大循环数


第二个问题的答案取决于进程运行的位置。如果进程运行在真正的机器上,循环的数量不可能是无限的,而真正的机器最终会因熵而失败。如果进程运行在虚拟机上,则可以使进程无限期地运行(直到宇宙热消亡).

您可能需要使用web worker来防止浏览器中断进程。使用web worker,循环可能会无限期运行(直到计算机停止运行)

正如其他人所指出的,您将遇到处理大量数字的问题。可能有一些方法可以绕过JavaScript中的整数精度限制:

因此,第一个问题的答案是否定的,JavaScript没有定义好的最大循环数


第二个问题的答案取决于进程运行的位置。如果进程运行在真正的机器上,循环的数量不可能是无限的,而真正的机器最终会因熵而失败。如果进程运行在虚拟机上,则可以使进程无限期地运行(直到宇宙热消亡).

JavaScript中的最大安全整数是
9007199254740991
,您可以在浏览器的控制台中检查它

console.log('Max-safe-integer',Number.Max\u-safe\u-integer);/9007199254740991
console.log('Min safe integer',Number.Min_safe_integer);/-9007199254740991
console.log('Max value',Number.Max_value);/1.7976931348623157e+308

console.log('Min value',Number.Min_value);//5e-324
JavaScript中的最大安全整数是
9007199254740991
,您可以在浏览器的控制台中检查它

console.log('Max-safe-integer',Number.Max\u-safe\u-integer);/9007199254740991
console.log('Min safe integer',Number.Min_safe_integer);/-9007199254740991
console.log('Max value',Number.Max_value);/1.7976931348623157e+308

console.log('Min value',Number.Min_value);//5e-324
可能的重复也可以将循环限制在javascript 2^52的最大int。对于非常大的素数,我建议使用支持非常大的数字的库,C和Python使用:可能的重复也可以将循环限制在javascript 2^52的最大int。对于非常大的素数,我建议使用支持非常大的数字,C和Python用法:我明白了,所以它不是有max的循环,而是你可以设置I的值。天哪,我的循环将永远运行T_T。我永远也看不到最接近9007199254740992的素数。我明白了,所以它不是有max的循环,而是你可以设置I的值。天哪,我的循环将永远运行T_T。我永远也看不到要查看最接近9007199254740992SO的素数,这意味着如果我可以每9 007 199 254 740 991更改一次循环,它将再次继续运行另一个9 007 199 254 740 991?抛出内存错误应该运行良好,对吗?这意味着如果我可以每9 007 199 254 740 991更改一次循环,它将继续运行另一个9 007 199 254740 991?抛出内存错误应该运行正常,对吗?