Je travaille sur un problème Euler et j'essaie de construire une fonction qui vérifie un nombre pour voir si c'est un premier. Je reçois des messages d'erreur de la ligne:En javascript, est-ce que je peux utiliser l'opérateur de module (%) sur des variables au lieu d'entiers?
if (a)%(b)==0{
Est-ce ma syntaxe incorrecte ou est-il impossible d'utiliser% sur une variable plutôt sur un entier?
var x = Math.sqrt(600851475143);
var y = Math.round(x);
y++;
console.log(y);
//find all of the prime numbers up to the square root number. Put them in an array.
//Check each ascending number against the prime numbers in the array to see if %=0
var primes = [2,3];
var a =(3);
while (a<y){
a++;
isPrime(a)
}
function isPrime(arr){
for (var i = 0; i < arr.length; i++){
var b = primes[i];
//next line is a problem
if (a)%(b)==0{
break
}else{
primes.push(a);
}
}
}
Oui Votre syntaxe est erronée. C'est 'if (a% b == 0) {' ... '}}'. Cela n'a rien à voir avec l'opérateur de module, mais avec votre instruction 'if'. – Xufox
Si vous n'avez pas la compétence pour voir l'erreur triviale avec vos parenthèses alors vous êtes loin d'avoir assez de talent pour tenter un problème d'Euler. Retournez et travaillez sur des choses plus simples. –
@JK Avoir des problèmes avec la syntaxe d'un nouveau langage ne signifie pas que l'on n'a pas la compréhension d'un mathématicien. Au lieu de cela, l'OP devrait essayer de meilleurs outils (devtools, IDE, linter) qui pointent les erreurs de syntaxe. – Bergi