Überprüfen Sie die Primzahl in C#

Syed Hassan Sabeeh Kazmi 12 Oktober 2023
  1. Benutzereingabe zur Überprüfung von Primzahlen in einem bestimmten Bereich in C#
  2. Verwenden Sie isPrime Boolean, um die Primzahl in C# zu überprüfen
  3. Verwenden Sie die Rekursion, um die Primzahl in C# zu überprüfen
Überprüfen Sie die Primzahl in C#

Beim Programmieren liefert uns das Schreiben von Algorithmen, um positive ganze Zahlen größer als 1 zu finden, die keine anderen Faktoren außer 1 oder sich selbst haben, die Primzahlen. In diesem Tutorial lernen Sie drei Lösungen zum Überprüfen von Primzahlen in C# kennen.

Benutzereingabe zur Überprüfung von Primzahlen in einem bestimmten Bereich in C#

In C# ist der effizienteste Weg, Primzahlen in einem bestimmten Bereich zu finden, das Schreiben eines Algorithmus mit for-Schleifen und if-Bedingungen. Das folgende C#-Programm kann Ihnen dabei helfen, Algorithmen zum Finden von Primzahlen in einem bestimmten Bereich zu verstehen.

Codebeispiel

using System;

class PrimeNumber {
  static void checkPrime(int InputN) {
    int n = 0;

    // algorithm to check prime number
    for (int i = 2; i < (InputN / 2 + 1); i++) {
      if (InputN % i == 0) {
        n++;
        break;
      }
    }

    if (n == 0) {
      Console.Write(InputN + " ");
    }
  }

  static void Main(string[] args) {
    Console.WriteLine("Enter a number to check prime numbers in the given range: ");
    string iN = Console.ReadLine();
    int iNum = Convert.ToInt32(iN);

    Console.WriteLine("Prime numbers less than " + iNum + " are: ");

    // loop for finding every prime number in the given range
    for (int i = 2; i < iNum + 1; i++) {
      checkPrime(i);
    }
  }
}

Ausgang:

Enter a number to check prime numbers in the given range:
30
Prime numbers less than 30 are:
2 3 5 7 11 13 17 19 23 29

Verwenden Sie isPrime Boolean, um die Primzahl in C# zu überprüfen

Verwenden Sie den Booleschen Wert isPrime, um zu prüfen, ob die vom Benutzer eingegebene Zahl eine Primzahl ist oder nicht. Im Falle einer Primzahl ist der Wert von isPrime true, andernfalls false.

Es heißt Trial Division und besteht aus einer for-Schleife und einer if-else-Bedingung.

Codebeispiel:

using System;

public class PrimeNumber {
  public static void Main(string[] args) {
    Console.WriteLine("Enter a number: ");
    var n = int.Parse(Console.ReadLine());
    bool isPrime = true;
    for (var i = 2; i <= Math.Sqrt(n); i++) {
      if (n % i == 0) {
        isPrime = false;
        break;
      }
    }
    if (isPrime == true) {
      Console.WriteLine("It's a prime number.");
    } else {
      Console.WriteLine("It's not prime number");
    }
  }
}

Ausgang:

Enter a number: 19
It's a prime number.

Die for-Schleife definiert eine ganze Zahl n als Primzahl, wenn n > 1 und n nicht durch i teilbar ist. Die Ausgabe der for-Schleife ist entweder eine zusammengesetzte Zahl oder eine Primzahl.

Eine if-Bedingung prüft weiter, ob n durch eine andere Zahl teilbar ist oder nicht. Wenn es teilbar ist, ist der Wert von isPrime false; andernfalls true.

Nach Ausführung der for-Schleife ist die Zahl eine Primzahl, wenn der Wert von isPrime true ist.

Verwenden Sie die Rekursion, um die Primzahl in C# zu überprüfen

Es ist eine native Lösung, um eine Primzahl in C# zu finden. Ein C#-Algorithmus prüft, ob eine Zahl zwischen 2 und n - 1 n teilt.

Wenn es eine teilbare Zahl findet, gibt es false zurück, was n bedeutet, da eine benutzerdefinierte Zahl keine Primzahl ist.

Codebeispiel:

using System;

class CheckPrime {
  static int i = 2;

  // checks if a number is prime
  static bool isPrime(int n) {
    // check this number
    // you can modify this number or make the user set its value thorugh `Console.Readline();`
    n = 7;

    // corner cases
    if (n == 0 || n == 1) {
      return false;
    }

    // Checking Prime
    if (n == i)
      return true;

    // base cases
    if (n % i == 0) {
      return false;
    }
    i++;
    return isPrime(n);
  }

  static void Main() {
    if (isPrime(35)) {
      Console.WriteLine("It is a prime number.");
    } else {
      Console.WriteLine("It is not a prime number.");
    }
  }
}

Ausgang:

It is a prime number.
Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub