HOLa..
YO trabaje un algoritmo para una tarea una vez,
lamentablemente en esa ocacion lo realice en Lenguaje JAVA.
aqui te paso mi codigo para ver si te es util... es codigo JAVA.
pero visto que C# es una evolucion a partir de Java y C++ creo que
te sera familiar y facil de leer.. luego lo implemtentas utilizanod
componentes
de C#..... bueno, la logica del arlgoritmo debe ser la misma..
NOTA..
presta epecial atencion al metodo llamado "esPrimo" ahi es donde
se encuentra el algoritmo que te retorna un balor True o False, para saber
si un numero de los evaluados es primo o no.
Salu2
()()()()o: Nuevito
// Fuente: Metodos2.java
// Por ()()()()o: Nuevito 09/09/2005
// Victor Manuel Montoya Guardado
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
public class Metodos2
{
public static void main(String args[])
{
int numero;
String sNumero;
String primo;
String out = "Numero\tEsPrimo";
JTextArea areaOut = new JTextArea(10,10);
JScrollPane scrollOut = new JScrollPane(areaOut);
do
{
sNumero = JOptionPane.showInputDialog("Ingresar Numero, " +
"Cero para Fin: ");
numero = Integer.parseInt(sNumero);
if(numero > 0)
{
if(Metodos2.esPrimo(numero) == true)
primo = "Si";
else
primo = "No";
out += "\n" + numero + "\t" + primo;
} //Fin if(numero > 0)
else
out += "\n--- Fin ---";
} while(numero >0);
areaOut.setText(out);
areaOut.setEditable(false);
JOptionPane.showMessageDialog(null,scrollOut,"Resultado",
JOptionPane.PLAIN_MESSAGE);
System.exit(0);
} //Fin metodo main
public static boolean esPrimo(int n)
{
boolean p = false;
if(n < 4)
p = true;
else
{
if(n%2 == 0)
p = false;
else
{
int divOk = 0;
int a = 1;
int lim = (n-1) / 2;
if(lim%2 == 0)
lim--;
while(a <= lim)
{
if(n%a == 0)
divOk++;
a += 2;
if(divOk == 2)
a = lim + 1;
} //Fin while(a <= lim)
if (divOk == 1)
p = true;
} //Fin else
} //Fin else
return (boolean) p;
} //Fin metodo esPrimo
} //Fin class Metodos2