Comprobar número primo en C#

Syed Hassan Sabeeh Kazmi 12 octubre 2023
  1. Entrada de usuario para verificar números primos en un rango dado en C#
  2. Utilice el booleano isPrime para comprobar el número primo en C#
  3. Utilice la recursividad para comprobar el número primo en C#
Comprobar número primo en C#

En programación, escribir algoritmos para encontrar números enteros positivos mayores que 1 que no tienen otros factores excepto 1 o él mismo nos da los números primos. Este tutorial le enseñará tres soluciones para verificar números primos en C#.

Entrada de usuario para verificar números primos en un rango dado en C#

En C#, la forma más eficiente de encontrar números primos en un rango determinado es escribiendo un algoritmo usando bucles for y condiciones if. El siguiente programa C# puede ayudarlo a comprender los algoritmos para encontrar números primos en un rango determinado.

Ejemplo de código

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);
    }
  }
}

Producción :

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

Utilice el booleano isPrime para comprobar el número primo en C#

Utilice el booleano isPrime para comprobar si el número introducido por el usuario es un número primo o no. En el caso de un número primo, el valor de isPrime será true en caso contrario false.

Se llama división de prueba y consiste en un bucle for y una condición if-else.

Ejemplo de código:

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");
    }
  }
}

Producción :

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

El bucle for define un entero n como un número primo si n > 1 y n no es divisible por i. La salida del bucle for será un número compuesto o un número primo.

Una condición if verificará además si n es divisible o no por cualquier otro número. Si es divisible, el valor de isPrime será false; en caso contrario, true.

Después de ejecutar el bucle for, el número será primo si el valor de isPrime es true.

Utilice la recursividad para comprobar el número primo en C#

Es una solución nativa para encontrar un número primo en C#. Un algoritmo de C# comprueba si un número entre 2 y n - 1 divide a n.

Si encuentra algún número que divide, devolverá “false”, lo que significa n, ya que un número definido por el usuario no es un número primo.

Ejemplo de código:

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.");
    }
  }
}

Producción :

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