Я пытаюсь написать эту программу, чтобы найти простые числа. У меня есть основы этого, за исключением того, что независимо от того, какой номер я вставляю, он возвращается как НЕ простой. Я слишком долго возился с этим и не могу понять, что это такое. Является ли это в моем выражении «if» или моей функции isPrime? Пожалуйста, помогите, и спасибо!Почему все не просто?
var number = 0;
function main()
{
number = parseInt(prompt("Please Enter a Number to Determine Whether or Not it is Prime:", "Enter a Number"));
while(isNaN(number) === true)
{ alert("You Entered an Invalid Number. Please Reenter");
number = parseInt(prompt("Please Enter a Number to Determine Whether or Not it is Prime:", "Enter a Number"));
}
isPrime(number);
if(prime = false)
{ alert("The number " + number + " is a Prime Number!"); }
else
{ alert("The number " + number + " is NOT a Prime Number!"); }
}
/*------------------------------------------------------*/
function isPrime(number)
{
if(number < 2)
{return false;}
var prime = false;
for(var i = 2; i <= Math.sqrt(number); i++)
{ if(number % i == 0)
{prime = true;}
}
return prime;
}
Вам не нужно писать '=== true'; 'true' уже' истина'. Аналогичным образом используйте '!'. – SLaks
Позвольте мне сказать, что я нахожу ваши скобки оскорбительными: -/ –
'if (prime = false)' должно быть 'if (prime == false)' или лучше 'if (! Prime)'. Для атрибуции используется один '='. – melancia