ucastro 0 Denunciar post Postado Setembro 15, 2008 O número primo só é divisível por ele próprio e por 1. Exemplo:1,2,3,5,7,11... Com exceção do número 'dois', os números primos são, em sua grande maioria, impares. Achei um código que imprime números primos de 2 ao valor que você colocar na variável nValor(lógico não um número enorme). Estou começando agora a aprender Java com o livro Java como Programar e gostaria de saber se alguém poderia explicar como funciona os 3 primeiros loop do for i e j. Só os primeiros 3 para entender. public class Primos { public static void main(String[] args) { int nValor = 8; //defini como 8 para ficar mais fácil entender a lógica boolean primo = true; for(int i = 2; i <= nValor; i++) { //i=2 e fará loop até 8 incrementando 2 depois 3,4,5,6,7,8 primo = true; for(int j = 2; j < i; j++) { /*Aqui minha dúvida j=2 o i =2 não executa primeiro loop (estou certo?) no segundo loop i=3 maior que j=2 daí começa o if abaixo 3/2 ,segundo loop 4/3 , terceiro loop 5/4 (Onde estou rasciocinando errado*/ if (i % j == 0){ primo = false;//se não for primo não é exibido break; } } if (primo)//se for primo o número é exibido System.out.println(i); } } } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 1, 2008 Isso daí é o crivo de Eratóstenes...você define um intervalo onde vai procurar os primos e depois verifica se cada número nele é um primo. Compartilhar este post Link para o post Compartilhar em outros sites