Javascript 为什么我的素数程序不起作用?
我写了这个程序(js),理想情况下,它会将10以下的所有素数放入一个名为“素数”的数组中。。。你们中有人能认识到为什么它不起作用吗?(primes不会收到警报)Javascript 为什么我的素数程序不起作用?,javascript,jquery,primes,Javascript,Jquery,Primes,我写了这个程序(js),理想情况下,它会将10以下的所有素数放入一个名为“素数”的数组中。。。你们中有人能认识到为什么它不起作用吗?(primes不会收到警报) var max=10; var计数=0; var素数=[]; 而(从控制台日志中可以看到,计数: Uncaught SyntaxError: Unexpected token [ 这是因为您没有正确地将因子定义为数组,或者基本上缺少=。因此,请更改: var factors[]; 致: 我认为正如@Gaby aka G.Pet
var max=10;
var计数=0;
var素数=[];
而(从控制台日志中可以看到,计数:
Uncaught SyntaxError: Unexpected token [
这是因为您没有正确地将因子定义为数组,或者基本上缺少=
。因此,请更改:
var factors[];
致:
我认为正如@Gaby aka G.Petrioli指出的,您需要使用if(factors.length==2)
而不是if(factors.length>2)
,实际上您不需要那么多变量,在循环时,只需这样做:
function getPrimes(max) {
var count = [], i, j, primes = [];
for (i = 2; i <= max; ++i) {
if (!count[i]) {
primes.push(i);
for (j = i < 1; j <= max; j += i) {
count[j] = true;
}
}
}
return primes;
}
alert(getPrimes(10));
函数getPrimes(最大值){
变量计数=[],i,j,素数=[];
对于(i=2;i,您可以从控制台日志中看到:
Uncaught SyntaxError: Unexpected token [
这是因为您没有正确地将因子定义为数组,或者基本上缺少=
。因此,请更改:
var factors[];
致:
我认为正如@Gaby aka G.Petrioli指出的,您需要使用if(factors.length==2)
而不是if(factors.length>2)
,实际上您不需要那么多变量,在循环时,只需这样做:
function getPrimes(max) {
var count = [], i, j, primes = [];
for (i = 2; i <= max; ++i) {
if (!count[i]) {
primes.push(i);
for (j = i < 1; j <= max; j += i) {
count[j] = true;
}
}
}
return primes;
}
alert(getPrimes(10));
函数getPrimes(最大值){
变量计数=[],i,j,素数=[];
对于(i=2;i,您可以从控制台日志中看到:
Uncaught SyntaxError: Unexpected token [
这是因为您没有正确地将因子定义为数组,或者基本上缺少=
。因此,请更改:
var factors[];
致:
我认为正如@Gaby aka G.Petrioli指出的,您需要使用if(factors.length==2)
而不是if(factors.length>2)
,实际上您不需要那么多变量,在循环时,只需这样做:
function getPrimes(max) {
var count = [], i, j, primes = [];
for (i = 2; i <= max; ++i) {
if (!count[i]) {
primes.push(i);
for (j = i < 1; j <= max; j += i) {
count[j] = true;
}
}
}
return primes;
}
alert(getPrimes(10));
函数getPrimes(最大值){
变量计数=[],i,j,素数=[];
对于(i=2;i,您可以从控制台日志中看到:
Uncaught SyntaxError: Unexpected token [
这是因为您没有正确地将因子定义为数组,或者基本上缺少=
。因此,请更改:
var factors[];
致:
我认为正如@Gaby aka G.Petrioli指出的,您需要使用if(factors.length==2)
而不是if(factors.length>2)
,实际上您不需要那么多变量,在循环时,只需这样做:
function getPrimes(max) {
var count = [], i, j, primes = [];
for (i = 2; i <= max; ++i) {
if (!count[i]) {
primes.push(i);
for (j = i < 1; j <= max; j += i) {
count[j] = true;
}
}
}
return primes;
}
alert(getPrimes(10));
函数getPrimes(最大值){
变量计数=[],i,j,素数=[];
用于(i=2;i使程序工作
var factors=[];
而不是var因子[]
代码中还有一个逻辑错误:)使程序正常工作
var factors=[];
而不是var因子[]
代码中还有一个逻辑错误:)使程序正常工作
var factors=[];
而不是var因子[]
代码中还有一个逻辑错误:)使程序正常工作
var factors=[];
而不是var因子[]
代码中还有一个逻辑错误:)除了缺少的=
的语法错误之外,您还需要进行测试
if (factors.length === 2)
而不是
if (factors.length > 2)
除了缺少=
的语法错误之外,您还需要测试
if (factors.length === 2)
而不是
if (factors.length > 2)
除了缺少=
的语法错误之外,您还需要测试
if (factors.length === 2)
而不是
if (factors.length > 2)
除了缺少=
的语法错误之外,您还需要测试
if (factors.length === 2)
而不是
if (factors.length > 2)
var factors=[];
//缺失=
参见var factors=[];
//缺失=
参见var factors=[];
//缺失=
参见var factors=[]
//缺少=
请看!好的,但现在它会提醒4,6,8,9,10…为什么它不显示素数,我的逻辑缺陷在哪里?@CasparWylie检查我的更新:)就是这样!好吧,但现在它警告4,6,8,9,10…为什么它不显示素数,我的逻辑缺陷在哪里?@CasparWylie检查我的更新:)就是这样!好吧,但现在它警告4,6,8,9,10…为什么它不显示素数,我的逻辑缺陷在哪里?@CasparWylie检查我的更新:)就是这样!好吧,但现在它警告4,6,8,9,10…为什么它不显示素数,我的逻辑缺陷在哪里逻辑缺陷?@CasparWylie检查我的更新:)什么是逻辑错误…?:/什么是逻辑错误…?:/什么是逻辑错误…?:/aaah。开始了。谢谢!(+1)aaah。开始了。谢谢!(+1)aaah。开始了。谢谢!(+1)aaah。开始了。谢谢!(+1)aaah。开始了。谢谢!(+1)