Я делаю эту программу, чтобы определить, является ли число двоюродным братом или нет. Все работает хорошо, если я ставлю один, он говорит мне, что это не двоюродный брат, если я помещаю 2, он говорит мне, что это двоюродный брат, если я ставлю четное число, он говорит мне, что это не двоюродный брат, если я помещаю число, подобное 21, это говорит мне, что это не двоюродный брат; но когда я ставлю 5 или 7 не появляется console.log, который говорит, что это двоюродный брат
Я проверил код и ничего не могу найти ... Кто-нибудь мне помогает?
var numero = parseInt(promptNum("Introduce un número"));
if (numero <= 1) {
console.log("número no válido");
}
else if (numero == 2) {
console.log("es primo y par");
}
else if ((numero % 2 == 0)) {
console.log("no es primo, pero si divisible entre 2");
} else {
var primo = true;
for (var i = 3; i<=Math.sqrt(numero) && primo; i+=2) {
if (numero%i==0) {
primo = false;
}
if (primo == true) {
console.log("Es primo");
} else {
console.log("No es primo");
}
}
}
Как я могу замечать, он показывает тебе совсем не, потому что, когда ты реализуешь Math.sqrt()
номера 7
, результата 2.6457513110645907
, и как в тебе for
ты инициализируешь i=3
твое серьезное утверждение в этом 3 < 2.6457513110645907
, и как это фальшивые никогда он не войдет.
Однако то, что я сделал бы, состоит в том, чтобы отделять метод, чтобы проверять, первое ли число и возвращать один boolean
для того, чтобы, когда число модуль 2 идентифицирует, что его 0, он возвратил один false
прямо. Изменяя немного твой код он был бы следующего способа:
var numero = parseInt(promptNum("Introduce un número"));
if (numero <= 1) {
console.log("número no válido");
}
else if (numero == 2) {
console.log("es primo y par");
}
else if ((numero % 2 == 0)) {
console.log("no es primo, pero si divisible entre 2");
} else {
if (esPrimo(numero) == true) {
console.log("Es primo");
} else {
console.log("No es primo");
}
}
function esPrimo(num) {
var m=Math.sqrt(num);
for (var i=2; i<=m; i++) {
if (num%i==0) {
return false;
}
}
return true;
}
Надеялся, что он подает тебя ;) Привет