Nombres premiers de 1 à 100 en Java : Afficher 1 à 100 en Java

Publié: 2021-02-08

Table des matières

introduction

Tout d'abord, commençons par la définition du nombre premier. Un nombre est dit premier s'il n'est divisible que par 1 et lui-même. Si on nous demandait de dire des nombres premiers de 1 à 100, il serait fastidieux de vérifier chaque nombre sur papier et de dire s'il s'agit d'un nombre premier ou non. Peu importe, nous pouvons écrire un code pour le faire et Java rend les choses faciles.

Java est un langage populaire et l'un des plus utilisés, et la raison de son coup de projecteur sur les journées ensoleillées est de fournir des fonctionnalités telles que la programmation orientée objet, l'indépendance de la plate-forme, les bibliothèques prédéfinies, etc.

Construisons un code pour imprimer les nombres premiers de 1 à 100 et parcourons-le. Commençons!

Programme Java

Avant de passer au code, nous allons comprendre l'algorithme pour vérifier si un nombre est un nombre premier ou non. Au début, nous devons parcourir tous les nombres de 1 à N et maintenir un nombre de nombres qui divise correctement le nombre donné. Si le compte est 2, nous pouvons conclure que le nombre donné est un nombre premier, sinon ce n'est pas un nombre premier. Voici le code pour le faire.

int n = 5 ;
entier c = 0 ;
pour ( int i= 1 ;i<=n;i++)
si (n%i== 0 )
c++;
si (c== 2 )
System.out.println(n+ ” est un nombre premier” );
autre
System.out.println(n+ ” n'est pas un nombre premier” );

Dans l'extrait ci-dessus, n est le nombre qui doit être vérifié s'il s'agit d'un nombre premier ou non, c est une variable qui stocke le nombre de diviseurs appropriés. Et nous parcourons la plage de 1 à n et incrémentons le nombre si nous trouvons un diviseur approprié.

Et après être sorti de la boucle, nous vérifions si le compte est 2, c'est-à-dire ; il n'y a que deux diviseurs propres (1 et lui-même). Si oui en le concluant comme un nombre premier, sinon un nombre non premier. Parlant de la complexité temporelle du code ci-dessus, il s'agit d'un code linéaire, donc c'est un code de complexité O(n).

Maintenant qu'on nous a demandé d'imprimer des nombres premiers de 1 à 100, nous devons exécuter ce même algorithme pour chaque nombre entre 1 et 100 et stocker le nombre premier. Et voici le code pour le faire.

ArrayList<Integer> a= new ArrayList<>();
pour ( int n= 1 ; n<= 100 ; n++){
entier c = 0 ;
pour ( int je = 1 ; je <= n ; je++)
si (n % je == 0 )
c++;
si (c == 2 )
a.add(n);
autre
continuer ;
}
System.out.println(a);

Dans le code ci-dessus, nous avons déclaré une ArrayList qui stocke tous les nombres premiers dans la plage de 1 à 100. Nous avons maintenant deux boucles for, la première boucle for sert à boucler sur tous les nombres entre 1 et 100 et la seconde boucle for est notre précédent algorithme de nombres premiers. Après avoir exécuté l'algorithme des nombres premiers pour chaque nombre, nous le poussons dans ArrayList s'il s'agit d'un nombre premier.

Départ: salaire de développeur Java en Inde

Et après avoir terminé les boucles, nous imprimons notre ArrayList qui affiche tous les nombres premiers entre 1 et 100. En parlant de la complexité temporelle du code ci-dessus, nous pouvons voir qu'il y a deux boucles for. C'est donc un code de complexité O(n ²).

Nous avons codé en dur la plage dans le code ci-dessus, que se passe-t-il si nous voulons imprimer des nombres premiers dans la plage donnée par l'entrée de l'utilisateur ?

Nombres premiers dans une plage d'entrée donnée

L'ensemble de l'algorithme sera presque similaire au code ci-dessus, la seule différence que nous faisons est de prendre l'entrée de l'utilisateur pour la limite inférieure et la limite supérieure de la plage.

Construisons le code maintenant !

Scanner sc=nouveau Scanner(System.in);
int inférieur=sc.nextInt();
int supérieur=sc.nextInt();
ArrayList<Integer> a=new ArrayList<>();
for(int n=inférieur ; n<=supérieur ; n++){
entier c = 0 ;
pour (int je = 1; je <= n; je++)
si (n % je == 0)
c++;
si (c == 2)
a.add(n);
autre
Continuez;
}
System.out.println(a);

Dans le code ci-dessus, nous initialisons un scanner pour lire les entrées de l'utilisateur. Nous avons déclaré deux variables inférieure et supérieure et attribué ces variables avec l'entrée de l'utilisateur. Ce que nous devons faire est d'imprimer tous les nombres premiers entre la plage [inférieur, supérieur]. Notre algorithme précédent effectue cette tâche et ajoute tous les nombres premiers à la ArrayList.

Lisez également : Idées et sujets de projet Java

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

Nous avons compris la définition des nombres premiers, parcouru un algorithme pour déterminer si un nombre est premier ou non, étendu cet algorithme pour trouver des nombres premiers de 1 à 100. Et plus tard, nous avons utilisé un scanner java pour lire l'entrée de l'utilisateur pour peaufiner la plage de nombres à vérifier s'ils sont premiers ou non, construit un algorithme pour imprimer les nombres premiers dans une plage donnée par l'utilisateur.

Maintenant que vous savez comment vérifier si un nombre est premier ou non, comment imprimer des nombres premiers dans une plage donnée. Essayez d'implémenter quelques défis comme l'implémenter en utilisant des fonctions, l'implémenter en utilisant des objets, construire l'algorithme en utilisant la récursivité, essayer d'utiliser quelques autres collections en Java, essayer d'optimiser un peu le code si possible, etc. Parce que la pratique vous aide à maîtriser un langage de programmation , vous aide à surmonter l'ambiguïté avec les syntaxes et la mise en œuvre.

Si vous souhaitez améliorer vos compétences en Java, vous devez mettre la main sur ces projets Java. Si vous souhaitez en savoir plus sur Java, le développement full-stack, consultez le programme Executive PG de upGrad & IIIT-B en développement logiciel full-stack, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets. et affectations, statut d'ancien élève de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Que sont les nombres premiers ?

Qu'est-ce que les cribles d'Eratosthène ?

Le tamis d'Ératosthène est un ancien algorithme grec pour trouver les nombres premiers. L'algorithme est connu pour sa simplicité et son efficacité, en ce sens qu'il est assez rapide pour son époque et pourtant il produit très bien les nombres premiers. L'algorithme fonctionne en éliminant tous les multiples de chaque nombre premier des nombres composés, en commençant par les multiples de 2 et en terminant par les multiples de N (N est le dernier nombre pour lequel vous voulez trouver les nombres premiers). Eratosthène était un mathématicien grec et était considéré comme le fondateur de la bibliothèque d'Alexandrie en Égypte. Il est bien connu pour calculer la circonférence de la Terre et son diamètre.

Que sont les structures de données et les algorithmes ?

Une structure de données est un moyen de stocker des données afin qu'un programme informatique puisse les récupérer et les modifier. Une structure de données est une abstraction du langage de programmation. Il peut s'agir d'une entité en soi ou d'une partie d'une autre entité de données. Il peut s'agir de données à part entière ou d'un mécanisme d'accès et de manipulation d'autres données. Une structure de données comprend la définition des données, le type de données, le contenu et les opérations pouvant être appliquées au contenu. Les algorithmes sont les procédures étape par étape pour résoudre un problème informatique. Chaque algorithme est une séquence d'actions qui conduira à une solution au problème.