Heim > Artikel > Backend-Entwicklung > Primzahlen in C#
Primzahlen sind ganze Zahlen größer als 1, die nur die Faktoren für die Zahl 1 und für sich selbst sein können, d. h. die Zahl „n“ kann nur durch 1 oder durch „n“ selbst teilbar sein. Einige der bekanntesten Primzahlen sind 2, 3, 5, 7, 9, 11, 13, 17, 19, 23 usw. C#-Programme zum Thema Primzahlen können verwendet werden, um herauszufinden, ob die gegebenen Zahlen vorliegen Zahl ist eine Primzahl oder nicht, und zum Anzeigen aller Primzahlen innerhalb eines bestimmten Bereichs. Dies kann in C#-Programmen erreicht werden, indem Logiken mithilfe verschiedener Schleifen und bedingter Anweisungen definiert werden, z. B. der for-Schleife, der if-Bedingung, der if-else-Bedingung, der while-Schleife usw.
Lassen Sie uns versuchen, Primzahlen anhand der folgenden Programmierbeispiele zu konzeptualisieren.
C#-Programm zum Drucken der Liste aller Primzahlen zwischen 1 und 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 } } }
Ausgabe:
Programmerklärung: Das obige Programm ist ein klassisches Beispiel für die Verwendung von Schleifen und bedingten Operatoren zur Bestimmung der Primzahlen in einem festen Zahlenbereich. Das obige Programm verwendet eine Untergrenze der natürlichen Zahl, d. h. 2, und definiert „a“ als natürliche Zahl im Bereich von 2 bis 99 mit der Nachoperationsinkrementierung von 1. Im nächsten Schritt wird eine Variable „b“ mit einem ähnlichen Bereich verwendet aber in seiner Obergrenze an eine Bedingung gebunden ist immer kleiner als 'a'. Die Schleife durchläuft dann den Bereich und verwendet die natürliche Modulo-Operation für die Variable a durch den Divisor b.
Der Modulo-Operator gibt 0 zurück, wenn a perfekt durch b teilbar ist, was darauf hinweist, dass b als kleinere natürliche Zahl ein Faktor für die zusammengesetzte Zahl a ist. Wir verwenden einen booleschen Parameter Prime für ein Flag, falls wir den Wert von a % b ungleich Null erhalten. Jetzt haben wir den bedingten Operator verwendet, um die Zahl in der Ausgabekonsole auszugeben, falls wir die Zahl als Primzahl erhalten haben.
Prüfung auf Primzahlen mit der for-Schleife
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 . "); } } }
Ausgabe:
Programmerklärung: Das oben beschriebene Programm verwendet eine for-Schleife zum Definieren der Bedingungen für die Primalität. Das Eingabelesefeld erfasst die Benutzereingabe und weist sie der Variablen n zu, der Zähler analysiert den Wert 2 bis zum Wert n-1 und testet die Teilbarkeitsbedingungen, um festzustellen, ob die Zahl eine Primzahl ist oder nicht Das Programm verwendet eine Variable m mit dem Wert n/2 oder genau der Hälfte der anfänglichen Benutzereingabe. Das Programm analysiert die Schleife nur bis zu einem Wert von m.
Primalität mit einer While-Schleife.
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(); } } }
Ausgabe:
Programmerklärung: Das obige Programm veranschaulicht den Prozess der Bestimmung der Primalität einer Zahl mithilfe einer While-Schleife in C#. Das obige Programm liest die Benutzereingaben mithilfe des Steuerlesebefehls und analysiert den Bereich 2 bis zu einem Wert der Benutzereingabe dividiert durch 2, um den Wert eines Flags zu bestimmen, das zum Testen der Primalität einer Zahl verwendet wird. Der Wert wird innerhalb der Schleife zugewiesen und zeigt das Ergebnis entsprechend dem Wert von a an.
Primzahlen sind also natürliche Zahlen größer als 1, wobei die einzigen Faktoren 1 und sich selbst sind. Eine zusammengesetzte Zahl kann in einen Faktor von Primzahlen zerlegt werden; diese Zahlen werden Primfaktoren genannt. Die verschiedenen oben dargestellten Programme bieten uns Möglichkeiten, die Primalität einer beliebigen Zahl mithilfe von Schleifen wie do-, for- und while-Schleifen zu implementieren. Obwohl die Logik hinter der Implementierung aller oben genannten Programme darin besteht, die Faktoren einer Zahl durch Verarbeiten mit dem Modulo-Operator zu ermitteln, wird die Implementierung derselben je nach Wahl der Schleife an verschiedenen Punkten gesteuert.
Das obige ist der detaillierte Inhalt vonPrimzahlen in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!