0
votes

Vérifiez si le nombre donné est prime ou non?

J'essaie d'implémenter un code pour vérifier si un tableau de numéros donné est préféré ou non,

mais lorsque le numéro est pas un nombre premier fort>, la sortie affiche "Prime" et "Pas premier" les deux réponses. Quelle est l'erreur que j'ai faite ici et c'est un plaisir d'avoir une réponse de votre part? Merci d'avance! P>

Voici mon code. P>

    Scanner scan = new Scanner(System.in);
    int number = scan.nextInt();
    int[] arr = new int[number];
    for (int i = 0; i < number; i++) {
        arr[i] = scan.nextInt();

    }

    for (int i = 0; i < number; i++) {
        int num = arr[i];
        for (int j = 2; j <= Math.sqrt(num); j++) {
            if (num % j == 0 && num !=2) {
                System.out.println(num + "Not prime");
                break;
            }
        }
        System.out.println(num +"Prime");
    }


0 commentaires

4 Réponses :


1
votes

Vous devriez vous rappeler si le nombre était prime ou non. Votre code ne fait pas que les deux impressions sont atteintes.

Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
int[] arr = new int[number];
for (int i = 0; i < number; i++) {
    arr[i] = scan.nextInt();

}

for (int i = 0; i < number; i++) {
    int num = arr[i];
    boolean isPrime = true;

    for (int j = 2; j <= Math.sqrt(num); j++) {
        if (num % j == 0 && num !=2) {
            isPrime = false;
            break;
        }
    }

    if (isPrime) {
        System.out.println(num +"Prime");
    } else {
        System.out.println(num + "Not prime");
    }

}


1 commentaires

Merci, c'est vraiment utile.



1
votes

Utilisez un booléen pour suivre si le nombre est prime. Supposons que c'est vrai (prime) de commencer et de la définir false s'il est découvert de ne pas être primordial. XXX Pré>

Ensuite, déterminez le message en fonction de ce booléen. P>

String message = isPrime ? "Prime" : "Not prime";


0 commentaires

0
votes

Vous pouvez le réparer par exemple en introduisant une variable booléenne: xxx


0 commentaires

2
votes

Si vous êtes intéressé à rendre votre code un peu plus efficace, vous pouvez aller à cet itinéraire. XXX


1 commentaires

C'est une approche agréable qui vérifie toutes les conditions, merci: D