Ir ao conteúdo
  • Cadastre-se

Posts recomendados

Faça um programa para imprimir os números primos de 1 a 123.

int primo;
    int num;
    for(int i = 1; i < 123; i++){
        if(num % 2 == 0){
            system.out.println(numero primo: %i");    
        }
    }

não sei se esta correto sinto que falta algo ou o que tem ai esta errado

Link para o comentário
Compartilhar em outros sites

@Jacitara Roque Você está testando só se o número é divisível por 2. Um número primo é divisível por 1 e por ele mesmo, portanto você tem que testar se ele é divisível por todos os números menores que ele. 

 

Como seu programa precisa testar de 1..123, eu sugiro fazer uma função (parecida com seu código) e chamar essa função dentro de um for para testar todos os números de 1..123.

 

public class Primo {
    public boolean ehprimo(int num){
        int divisores = 0;
        for (int i=1;i<=num;i++){
          if (num % i == 0) { divisores++; }
        }
        if (divisores <= 2){
            return true;
        }
        else {
            return false;
        }
    }
}

Daí é só chamar o método ehprimo para 1..123.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!