trouver tous les nombres premiers à partir de la matrice de
Je veux créer un programme qui demande à l'utilisateur de l'entrée 5 des nombres entiers à l'aide du tableau et de déterminer tous les nombres premiers inscrits. Mais j'ai de la difficulté avec cela. Ce qui semble être le problème? J'utilise JCreator pour cela.
import java.util.Scanner;
public class PrimeNumbers{
public static void main (String[] args){
int[] array = new int [5];
Scanner in = new Scanner (System.in);
System.out.println("Enter the elements of the array: ");
for(int i=0; i<5; i++)
{
array[i] = in.nextInt();
}
//loop through the numbers one by one
for(int i=0; i<array.length; i++){
boolean isPrime = true;
//check to see if the numbers are prime
for (int j=2; j<i; j++){
if(i%j==0){
isPrime = false;
break;
}
}
//print the number
if(isPrime)
System.out.println(i + " are the prime numbers in the array ");
}
}
}
- Pouvez-vous veuillez donner plus de détails au sujet de votre problème.
- Je veux que la sortie sera comme ceci: Entrez les éléments du tableau– 23 98 45 101 6 Tous les nombres premiers dans le tableau sont – 23 101
- Mais il me 0 1 2 3 en sortie.
- Veuillez modifier votre question, et ajouter cette information là, au lieu de dans les commentaires.
- Juste une amélioration de l'a déjà suggéré des réponses : Pour tester si un nombre(n) est premier, vous pouvez vérifier si ce nombre est divisible par un nombre compris entre 2 à la racine carrée(n). Pas besoin de le tester avec tous les nombres inférieurs à n. Un exemple de mise en œuvre qui utilise ce facteur. davidsekar.com/algorithms/sieve-of-eratosthenes-prime
Vous devez vous connecter pour publier un commentaire.
Vous de vérifier les compteurs de boucle, pas de les valeurs dans le tableau. Essayez quelque chose comme
Je n'ai pas testé cette.
Mise à JOUR
Imprimer le résultat de l'impression à chacun comme il est constaté, ou copier les nombres premiers dans un tableau de sortie, puis imprimer que lorsque vous avez terminé les vérifications. Les détails dépendent de la langue que vous utilisez.
Veuillez noter que vous n'êtes pas en utilisant un très efficace de détection de l'algorithme de Google pour un meilleur.
Vous pouvez vérifier tous les nombres entiers jusqu'à ce que la racine du nombre requis
Pseudo-code:
Ici est code plus efficace de trouver le premier nombre. Nous avons seulement besoin de vérifier le nombre impair jusqu'à la racine carrée de N, supposons que le nombre est plus grand que 2.
C'est la forme la plus simple de trouver les nombres premiers à partir du tableau donné. Nous pouvons également utiliser le scanner par l'affectation de n au lieu d'un tableau pour vérifier s'il est premier ou non, le premier à partir de la donnée d'entrée(commenté dans le programme).Espérons que cela aide à vous..!!