Javascript 质数检查程序对某些数不起作用

Javascript 质数检查程序对某些数不起作用,javascript,html,Javascript,Html,我很兴奋,因为我的素数程序正在运行,但当我尝试某些数字时,如5和10、2和11,它不起作用。我试着自己去弄清楚,通过观察与我所做的事情相关的其他事情,但我无法弄清楚我将非常感谢您的回答,感谢所有帮助我的人,因为我只是一名编码初学者,希望学习更多 var最小值; var最大值; var素数; 函数myFunction(e){ e、 预防默认值(); 最小值=document.getElementById('minimum')。值; 最大值=document.getElementById('max

我很兴奋,因为我的素数程序正在运行,但当我尝试某些数字时,如510211,它不起作用。我试着自己去弄清楚,通过观察与我所做的事情相关的其他事情,但我无法弄清楚我将非常感谢您的回答感谢所有帮助我的人,因为我只是一名编码初学者,希望学习更多

var最小值;
var最大值;
var素数;
函数myFunction(e){
e、 预防默认值();
最小值=document.getElementById('minimum')。值;
最大值=document.getElementById('maximum')。值;
素数=[];
时间列表(最小值、最大值);
素数=素数。过滤器(函数(x){
返回x>1;
});
primes=primes.toString();
素数=素数。替换(/,(?=[^\s])/g,“,”;
document.getElementById(“你的素数”).innerHTML=Primes;
}
函数isPrime(num){

对于(var i=2;i计算素数的代码看起来很好。问题是您使用的是最小值和最大值的原始字符串来创建范围。问题是字符串是按字母顺序进行比较的,因此:

"2" < "100" // false
这是您的修复代码片段,看起来一切正常:

var最小值;
var最大值;
var素数;
函数myFunction(e){
e、 预防默认值();
最小值=数字(document.getElementById('minimum')。值);
最大值=数字(document.getElementById('maximum')。值);
素数=[];
时间列表(最小值、最大值);
素数=素数。过滤器(函数(x){
返回x>1;
});
primes=primes.toString();
素数=素数。替换(/,(?=[^\s])/g,“,”;
document.getElementById(“你的素数”).innerHTML=Primes;
}
函数isPrime(num){

对于(var i=2;i计算素数的代码看起来很好。问题是您使用的是最小值和最大值的原始字符串来创建范围。问题是字符串是按字母顺序进行比较的,因此:

"2" < "100" // false
这是您的修复代码片段,看起来一切正常:

var最小值;
var最大值;
var素数;
函数myFunction(e){
e、 预防默认值();
最小值=数字(document.getElementById('minimum')。值);
最大值=数字(document.getElementById('maximum')。值);
素数=[];
时间列表(最小值、最大值);
素数=素数。过滤器(函数(x){
返回x>1;
});
primes=primes.toString();
素数=素数。替换(/,(?=[^\s])/g,“,”;
document.getElementById(“你的素数”).innerHTML=Primes;
}
函数isPrime(num){
对于(var i=2;我明白了!
只需更改此行:

  for (var j = min; j <= max; j++) {
for(var j=min;j明白了!
只需更改此行:

  for (var j = min; j <= max; j++) {

用于(var j=min;除非其他数字大于49,否则J5不适用于任何对象。除非其他数字大于49,否则J5不适用于任何对象。我没有测试过iPrime函数,但当数字之间的范围非常大时,加载输出需要很长时间。我会尝试在ad中至少在一定程度上限制此范围除此之外,我还研究了如何使iPrime计算更有效地处理大输入。非常感谢!我自己无法解决这个问题!我还没有测试过你的iPrime函数,但当数字之间的范围非常大时,加载输出需要很长的时间。我会尝试限制这个范围,除了研究使iPrime计算更有效地处理大量输入。非常感谢!我自己都搞不懂!