static void Main(string[] args)Creamos los datos con los que vamos a trabajar
{
int r = Leer("renglones");Se llena ma matriz de números aleatorios y al mismo tiempo usamos los metodos de la clase matematicas (especificada más adelante) para saber que numeros son primos y cuales de ellos son nones.
int c = Leer("columnas");
int[,] m = new int[r, c];
StringBuilder primos = new StringBuilder();
StringBuilder nones = new StringBuilder();
int p=0;
int n=0;
Random ran = new Random();
for (int i = 0; i < r; i++)
{
for (int j = 0; j < c; j++)
{
m[i, j] = ran.Next(10, 100);
if (Matematicas.EsPrimo(m[i, j]))
{
primos.Append(m[i, j] + ", ");
p++;
}
if (Matematicas.EsNon(m[i, j]))
{
nones.Append(m[i, j] + ", ");
n++;
}
Console.Write("\t" + m[i, j]);
}
Console.WriteLine("\n\r");
}
Console.WriteLine("Los {0} numeros primos son: {1}\n\rLos {2} numeros nones son: {3}", p, primos.ToString(), n, nones.ToString());
Console.ReadKey();
}
public static int Leer(string leerQue)
{
while (true)
{
Console.WriteLine("Numero de {0}", leerQue);
int a = Int32.Parse(Console.ReadLine());
if (a < 3 || a > 10)
{
Console.WriteLine("Error...");
Console.Clear();
continue;
}
else
return a;
}
}
La clase Matematicas utilizada en este proyecto es la siguiente :
public class Matematicas
{
static public bool EsNon(int n)
{
if (Convert.ToBoolean(n % 2))
return true;
return false;
}
static public bool EsPrimo(int n)
{
int div = 2;
int r1 = n % div;
int r2 = n / div;
while (div < n)
{
if ((n % div) == 0)
return false;
div++;
}
return true;
}
}
Puedes descargar el proyecto completo desde aquí:
http://www.mediafire.com/?nwyrz2o2151jknf
No hay comentarios:
Publicar un comentario