Boa noite computêros…

Esse post surgiu da necessidade de um cara lá no Orkut que tava com uma dúvida sobre números primos, aí resolvi dar uma força…

Segue o código no post, ou se preferirem façam o download clicando aqui.

 /*
Autor: Lucas Felix de Sousa - Computero
05/04/2009 - 00:15

http://blog.computero.com.br

*/
public class primo{
//função que imprime os valores primos até determinado número (n)
public static void printPrimo(int n){
//indica se o valor é primo ou não
boolean primo;
//simples contador
int iNum;
//string para concatenar os numeros primos
String strPrimos = "";
//laço de 1 até n para ver quais os primos
for (int i=1;i<=n;i++)
{
//o numero 1 sempre é primo
if (i==1){
primo = true;
}
else{
//inicio com 2, pq todo numero dividido por 1 tem resto 0
iNum = 2;
//digo que todo numero é primo até que se prove o contrário
primo = true;
//faço um loop de iNum (iniciando em 2) até menor que i
while(iNum < i){
//se o valor do resto da divisão de i por iNum for 0, o i não é primo
if (i%iNum == 0)
{
primo = false;
}
//se primo for false, saio do loop, é importante sair do loop por questão de desempenho
if (primo == false){
break;
}
//senão incremento e tento com o próximo numero
else{
iNum ++;
}
}
}
//se o valor depois de todos os testes permanecer como true, eh pq o i é primo
if (primo == true)
{
strPrimos += i + ",";
}
}
//imprimo a string
System.out.println(strPrimos);
}
public static void main(String args[]){
//chamada da função
printPrimo(100);
}
}