C# Calcular los primeros n números primos

Tiempo de lectura: < 1 minuto
//Usings.
using System

/// <summary>
/// Calcula los primeros n números primos.
/// </summary>
/// <param name="n">La cantidad de números primos a calcular.</param>
/// <returns>Un array que contiene los primeros n números primos.</returns>
public static int[] PrimeNumbers(int n)
{
	if (n <= 0)
	{
		throw new ArgumentException("La cantidad de números debe ser mayor que cero.", nameof(n));
	}

	int[] primes = new int[n];
	int count = 0;
	int number = 2;

	while (count < n)
	{
		if (IsPrime(number))
		{
			primes[count] = number;
			count++;
		}

		number++;
	}

	return primes;
}

/// <summary>
/// Verifica si un número dado es primo.
/// </summary>
/// <param name="number">El número a verificar.</param>
/// <returns>true si el número es primo, de lo contrario false.</returns>
public static bool IsPrime(int number)
{
	bool isPrime = true;

	if (number < 2)
	{
		isPrime = false;
	}
	else
	{
		for (int i = 2; i <= Math.Sqrt(number); i++)
		{
			if (number % i == 0)
			{
				isPrime = false;
			}
		}
	}

	return isPrime;
}

Deja un comentario