Nombres premiers en C#

WBOY
WBOYoriginal
2024-09-03 15:35:011134parcourir

Les nombres premiers sont les nombres entiers supérieurs à 1 qui peuvent être les facteurs du nombre 1 uniquement et de lui-même, c'est-à-dire que le nombre « n » ne peut être divisible que par 1 ou par « n » lui-même. Quelques-uns des nombres premiers bien connus sont 2, 3, 5, 7, 9, 11, 13, 17, 19, 23, etc. Les programmes C#, dans le domaine des nombres premiers, peuvent être utilisés pour déterminer si le nombre donné est nombre est un nombre premier ou non, et pour afficher tous les nombres premiers dans une plage donnée. Ceci peut être réalisé dans les programmes C# en définissant des logiques à l'aide de diverses boucles et instructions conditionnelles, telles que la boucle for, la condition if, la condition if else, la boucle while, etc.

Exemples de nombres premiers en C#

Essayons de conceptualiser les nombres premiers avec les exemples de programmation suivants.

Exemple n°1

Programme C# pour imprimer la liste de tous les nombres premiers entre 1 et 100.

Code :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args) // this function defines the entry point
{
bool Prime = true;
Console.WriteLine("Prime Numbers between 1 to 100 : ");
for (int a = 2; a <= 100; a++) //upper limit and lower limit are defined
{
for (int b = 2; b <= 100; b++)// base logic for the primality
{
if (a != b && a % b == 0) //modulo operators employed
{
Prime = false;
break;
}
}
if (Prime)
{
Console.Write("\t" + a); //printing the correct variable
}
Prime = true;
}
Console.ReadKey(); //hold the output screen
}
}
}

Sortie :

Nombres premiers en C#

Explication du programme : Le programme ci-dessus est un exemple classique d'utilisation de boucles et d'opérateurs conditionnels pour déterminer les nombres premiers dans une plage fixe de nombres. Le programme ci-dessus utilise une limite inférieure de nombre naturel, c'est-à-dire 2 définissant « a » comme un nombre naturel compris entre 2 et 99 avec un incrément post-opération de 1, l'étape suivante utilise une variable « b » avec une plage similaire. mais lié à une condition dans sa limite supérieure est toujours inférieur à « a ». La boucle parcourt ensuite la plage et utilise l'opération naturelle de modulo sur la variable a par le diviseur b.

L'opérateur modulo renvoie 0 si a est parfaitement divisible par b indiquant le fait que b en tant qu'entier naturel plus petit est un facteur pour le nombre composé a. Nous utilisons un paramètre booléen Prime pour un indicateur au cas où nous recevrions la valeur de a % b différente de zéro. Nous avons maintenant utilisé l'opérateur conditionnel pour imprimer le nombre dans la console de sortie au cas où nous recevrions le nombre sous forme de nombre premier.

Exemple n°2

Vérification des nombres premiers avec la boucle for

Code :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public static void Main(string[] args)
{
int n, a, m = 0, PrimeIndicator = 0;
Console.Write("Please enter the number to check for Primality: ");
n = int.Parse(Console.ReadLine());
m = n / 2;
for (a = 2; a <= m; a++)
{
if (n % a == 0)
{
Console.Write("The entered number is not  a Prime number .");
PrimeIndicator = 1;
break;
}
}
if (PrimeIndicator == 0)
Console.Write("The entered number is a Prime number . ");
}
}
}

Sortie :

Nombres premiers en C#

Nombres premiers en C#

Explication du programme : Le programme décrit ci-dessus utilise la boucle for pour définir les conditions de primalité. Le champ de lecture d'entrée capture l'entrée utilisateur qu'il attribue à la variable n, le compteur analyse de la valeur de 2 à une valeur de n-1 et teste les conditions de divisibilité pour déterminer si le nombre est premier ou non. La fonctionnalité supplémentaire impliquée dans le programme utilise une variable m avec une valeur de n/2 ou exactement la moitié de l'entrée utilisateur initiale, le programme analyse la boucle uniquement jusqu'à une valeur de m.

Exemple #3

Primalité utilisant une boucle while.

Code :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int n, i, a;
Console.Write("Enter any number: ");
n = Convert.ToInt32(Console.ReadLine()); // read the user input
a = 0;
i = 2;
while (i <= n / 2)
{
if (n % i == 0)
{
a = 1;
break;
}
i++;
}
if (a == 0)
Console.WriteLine(n + " Prime Number as there are no factors");
else
Console.WriteLine(n + " not a Prime Number ");
Console.ReadLine();
}
}
}

Sortie :

Nombres premiers en C#

Nombres premiers en C#

Explication du programme : Le programme ci-dessus illustre le processus de détermination de la primalité d'un nombre à l'aide de la boucle while en C#. Le programme ci-dessus lit l'entrée utilisateur à l'aide de la commande de lecture de contrôle et analyse sur la plage 2 jusqu'à une valeur d'entrée utilisateur divisée par 2 pour déterminer la valeur d'un indicateur utilisé pour tester la primalité d'un nombre. La valeur est attribuée à l'intérieur de la boucle et affiche le résultat en fonction de la valeur de a.

Conclusion

Les nombres premiers sont donc des nombres naturels supérieurs à 1, seuls les facteurs étant 1 et lui-même. Un nombre composé peut être décomposé en facteurs premiers, ces nombres sont appelés facteurs premiers. Les différents programmes illustrés ci-dessus nous fournissent des moyens d'implémenter la primalité de n'importe quel nombre en utilisant des boucles comme les boucles do, for, while. Bien que la logique derrière la mise en œuvre de tous les programmes ci-dessus consiste à trouver les facteurs d'un nombre en l'utilisant avec l'opérateur modulo, sa mise en œuvre est contrôlée à différents points en fonction du choix de la boucle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn