Ajuda PARA identificar num primo

10 respostas
dinorah
  1. Faça um programa que obtenha e exiba na tela todos os números primos de 1 até 150. Os números primos são aqueles que só são divisíveis por 1 e por eles mesmos (exemplo: 1, 3, 5, 7, …).
Int n=1;

For (int i=1;i<=151;i++)

{

if ((n % i == 0) || (n % 1 == 0))

{

System.out.println(?Os Números primos são   ? + i);

}

}

Será que alguém pode me ajudar neste exercicio. não consigo fazer.

Há eu tenho que usar o comando for ou While.

10 Respostas

javaroot

Olá.

Qual a sua dúvida?

dinorah

Oi este meu programa, não rodou, ele conta os numeros de 1 a 150.
E eu preciso somente dos numeros primos.

não sei porque.

rogeriop80

dinorah:
Oi este meu programa, não rodou, ele conta os numeros de 1 a 150.
E eu preciso somente dos numeros primos.

não sei porque.

Seu erro esta no if. Olha la, tem a primeira condição ou o numero / 1 tem resto = 0… todo o numero dividido por um tem resto = 0.

Ali tem q ser && (AND).

rubinelli

Para resolver pelo caminho que você está indo, você pode usar um ArrayList para guardar os números primos que fôr encontrando. Alternativamente, crie um crivo de Erastótenes. (um array de booleans funciona bem)

rogeriop80

O loco rs… ela so quer mostrar os números !!! Não precisa de um array nem nada… Eh calcular e mostrar.

caroline_colleto

Oi,

vc nao precisa verificar se ele é divisivel por 1, pois todo numero eh,
outra coisa vc n esta incrementado a variavel n

tente fazer assim:

for (int a=1;a<=150;a++)
      {
int qtd = 0;   
   if(a == 1)
      System.out.println(a);
   else
      {
         for(int cont=1;cont<=a;cont++)
            if( (a % cont) == 0)       
               qtd++;
	         
         if(qtd == 2)
        	 System.out.println(a); 
    }
       }

Se não entender avisa

dinorah

Que programa simples, que é tão dificil…rs

Z

1 não é primo, comece de 2.

public static void primos(){

        int contador = 0, divisor;
		      
         for(int x = 2; x < 151; x++){
		        
               divisor = x; 
		          
               while(divisor >= 1) {

                   if(x % divisor == 0)
		            	
                       contador++;
		  
                   divisor--;
              }
		         
             if(contador == 2) 
                  System.out.println(x+" ");

          contador = 0;
        }
}
Z

não vi que a caroline_colleto postou

dinorah

O Programa da Caroline e o seu (zanubix), sempre imprime o numero 2.

Bom consegui entender.

Mesmo assim, muito obrigada, agora já tenho base para continuar amanhã, já estudei demais hj.
Boa noite e boa semana para todos.

Criado 26 de outubro de 2008
Ultima resposta 26 de out. de 2008
Respostas 10
Participantes 6