Duvida de Achar numero primos[Resolvido]

8 respostas
Douglas_Magno
não esta dando certo o meu programa para dizer se um número é primo ou não
//3.7 Dizer se um número é primo
public class Primo
{
   
    public Primo(){    
    }
    
    public  void executar(int num){
        if((num % 1) && (num % num)){
             System.out.println("É primo: "+num);
            }
            else{
                System.out.println("O número "+num+" não é primo");
            }
        }
    }

ta dando erro de operação
diz assim "operator && cannot be applied to int, int"

8 Respostas

E

Não entendi sua expressão. Qual é a sua definição de primo?

Douglas_Magno

se o número que eu entrar num for if((num % 1) && (num % num)) ai eu coloquei && para que só entre no if caso as duas situações sejam satisfeitas

B

a % b retorna o resto da divisão de a por b. Por exemplo, 10 % 3 retorna 1.

Para saber se a é divisível por b, você tem de usar (a % b == 0).

OK?

B

Além disso você tem um problema de lógica. Do jeito que está escrito aí, qualquer número vai passar - experimente com o número 10, que você e eu sabemos que não é primo, já que é 2 vezes 5.

Douglas_Magno

beleza
mais tem um problema
todos os numeros que eu digito da primo agora

B

A definição de primo é “um número que é divisível APENAS por 1 e por si mesmo.”

Então você precisa testar todos os números, de 2 até N - 1, para ver se algum deles divide o número N. Se algum deles dividir, então o número não é primo.

Lucas182

Todos os números são divisíveis por si e por 1. (exceto 0, er)
Os primos só dividem por isso, e os compostos tem além destes, outros divisores, sacou?
É só testar os divisores.

WellingtonRamos

metodo ehPrimo (numero) { numero maior que 0 ? não, retorna FALSO ou gera exceção de valor inválido sim, temp = numero -1 loop: enquanto temp maior que 1 numero dividido por temp tem resto igual a zero ? sim, retorna FALSO ou gera exceção de valor não é primo nao, temp igual a temp -1 fim do loop retorna VERDADEIRO }

Tem também o Crivo de Eratóstenes

Criado 23 de setembro de 2010
Ultima resposta 23 de set. de 2010
Respostas 8
Participantes 5