Vetor dos 50 primeiros numeros primos [Resolvido]

Olá,
Ontem na faculdade o professor passou um exercicio para mostrar em um vetor os 50 primeiro numeros primos!
Ou seja é para armazenar 50 numeros primos em um vetor e mostrar na tela.
Se alguem puder me ajudar eu vou agradecer mto, pq eu quebrei a cabeça e naum consegui achar a tal da forma.
rsrsrs
Eu sei q naum eh nem um bicho de 7 cabeças para vcs.
Por favor me ajudem…

Grato…

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

Ja começou a fazer? Poste o código e descreva as dificuldades.

Um numero é primo quando:

  1. Ele não é 1.
  2. Ele é divisível por 1 e ele mesmo
  3. 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.

Dê uma olhada aqui e entenda o funcionamento do algoritmo:

http://pt.wikipedia.org/wiki/Crivo_de_Erat%C3%B3stenes

Abraços!

Talvez isso aqui tb te inspire:
http://www.guj.com.br/posts/list/50321.java#264645

ja comecei a fazer sim, soh q eu naum estou com o codigo aqui (agora estou no serviço)rsrsrs

Ao invés de armazenar os números primos num vetor, utilize vetor de bits:

[code]
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 + " ");
}	

}[/code]

Edit: Só faltou excluir o 1 nesse caso, que de fato não é primo. :slight_smile:

Vlw ae galera consegui com as dicas que vcs me deram…
Muito obrigado eim?!
Ateh breve…
rsrsrs