Ticianne 18 de mar. de 2009
Calcula os numeros primos num loop de 0 a 50 e a cada colta do loop, armazena no vetor.
Veja aqui como clacular se eh primo: http://www.guj.com.br/posts/list/86171.java
Bruno_Laturner 18 de mar. de 2009
Um numero é primo quando:
Ele não é 1.
Ele é divisível por 1 e ele mesmo
Ele não é divisível nenhum dos outros primos calculados anteriormente.
Extra: O maior divisor de um número é a raiz quadrada dele, não adianta tentar dividir por números maiores que isso, ele é automaticamente primo.
Sobre divisibilidade:
Um numero é divisível por outro quando o resto dessa divisão for zero.
Transforme o item 3 num if, e o extra na condição de parada do loop que você for implementar.
ajfilho 18 de mar. de 2009
Dê uma olhada aqui e entenda o funcionamento do algoritmo:
http://pt.wikipedia.org/wiki/Crivo_de_Erat%C3%B3stenes
Abraços!
ViniGodoy 18 de mar. de 2009
Leandro_Dornelas_Alv 18 de mar. de 2009
ja comecei a fazer sim, soh q eu naum estou com o codigo aqui (agora estou no serviço)rsrsrs
rodrigo.bossini 18 de mar. de 2009
Ao invés de armazenar os números primos num vetor, utilize vetor de bits:
public class Main {
final static int n = 50 ;
public static void main ( String args [] ){
int [] vetBits = new int [ 50 ] ;
for ( int i = 0 ; i < n ; i ++ ){
vetBits [ i ] = 1 ;
}
for ( int i = 2 ; i >< n / 2 ; i ++ ){
for ( int j = i ; j < n / 2 ; j ++ ){
if ( ( i * j ) < n ){
vetBits [ i * j ] = 0 ;
}
}
}
for ( int i = 0 ; i < n ; i ++ )
System . out . print ( vetBits [ i ] == 0 ? "" : i + " " );
}
}
Edit: Só faltou excluir o 1 nesse caso, que de fato não é primo. :)
Leandro_Dornelas_Alv 18 de mar. de 2009
Vlw ae galera consegui com as dicas que vcs me deram…
Muito obrigado eim?!
Ateh breve…
rsrsrs