Numeros primos

Ola pessoal

Estou começando e precisava de uma ajuda para concluir um codigo para verificar numeros primos.
Se poderem ajudar agradeço.

package numerosprimos;
import java.util.Scanner;

public class Main
{
public static void main(String[] args)
{
Scanner entrada = new Scanner(System.in);
int num[] = new int[10];
int i;

      for(i=0;i<10;i ++)
       {
         System.out.println("Digite o" +(i+1)+"o numero");
         num[i] = entrada.nextInt();

            }
             for(i=0;i<10;i++)
             {
                 if(num[i] % 2 ==0) && (num[i] != num[i])
                 
                   primo[i] = num[i];
                   System.out.println("O numero e primo" + primo[i] +);
                 
                 else
                     System.out.println("Não e primo");
                }
}

}

jprietsch, por favor, leia aqui primeiro: http://www.guj.com.br/posts/list/50115.java

Depois veja esse link.
http://www.google.com.br/search?hl=&q=número+primo+site%3Awww.guj.com.br

[]´s

http://www.guj.com.br/posts/list/143046.java


import java.util.Scanner;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

public class NumeroPrimo {

    private static int TRUE = 1;
    private static int FALSE = 0;

    public static int primo(int n) {
        int i;

        for (i = 2; i < n; i++) {
            if (n % i == 0) {
                return FALSE;
            } else {
                return TRUE;
            }
        }
        return FALSE;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num, recebe = 0;

        do {
            System.out.print("Entre com um numero inteiro e positivo maior que 1: ");
            num = sc.nextInt();
        } while (num < 2);
        recebe = primo(num);
        if (recebe == TRUE) {
            System.out.printf("O numero %d e primo\n", num);
        } else {
            System.out.printf("O numero %d nao e primo\n", num);
        }
    }
}

Veja se lhe serve. Como os nobres amigos disseram, procure sempre formatar seu tópico com TAGS, etc. Todos ganham!

Abraço!

FONTE: http://www.guiadohardware.net/comunidade/numero-primo/287760/

:smiley:

http://www.guj.com.br/posts/list/143046.java

Muito loko!

Desculpe ao rapaz, desconsidere esse código, tá errado, dê uma olhada na resolução aqui do GUJ mesmo.

:frowning:

import java.util.Scanner;
/**

  • Exemplo para verificar se dado número é primo ou não utilizando for

  • @autor brunoprogramadorjava
    */
    public class NumeroPrimo1 {
    public static void main(String[] args) {

            Scanner leitor = new Scanner(System.in);
            int numPrimo;
            int numDivisores = 0;
    
            System.out.println("Digite um numero");
            numPrimo = leitor.nextInt();
    
            for(int i = 1; i <= numPrimo; i++){
                    if(numPrimo % i == 0){
                            numDivisores++;
                    }
            }
    
            if(numDivisores == 2){
                    System.out.println("O numero " + numPrimo +" é primo");
            }else{
                    System.out.println("O numero " + numPrimo + " não é primo");
            }
    }
    

}

import java.util.Scanner;

/**

  • Exemplo para verificar se dado número é primo ou não utilizando while
  • @autor brunoprogramadorjava
    */

public class NumeroPrimo2 {

   public static void main(String[] args) {

           int contador, i;

           contador = 0;
           i = 2;

           Scanner leitor = new Scanner(System.in);
           System.out.println("Digite um numero");
           int numero = leitor.nextInt();

           while (i < numero) {
                   if (numero % i == 0)
                           contador = contador + 1;
                   i++;
           }
           if (contador > 0)
                   System.out.println("O numero " + numero + " não é primo");
           else
                   System.out.println("O numero " + numero + " é primo");
   }

}

Uma forma sem usar a tag for.

Usei a variáveis “número” (Esse valor será digitado pela pessoa que deseja saber se o número é realmente primo) “elemesmo” ( É a variável que vai dividir o número até chegar no valor dele mesmo) “contador” ( Que vai contar quantas vezes a divisão feita do número por ele mesmo chegou ao resultado igual a 0, se este número for menor ou igual a 2, ele é primo, ou se for maior que 2 não é primo)

Dá uma olhada nesse código, roda ele para ver como funciona.

[code]import java.util.Scanner;

public class Primos {

public static void main (String args[]){
Scanner scan = new Scanner (System.in);

     int numero, elemesmo=0, resto, contador=0;      
           
     System.out.println("Digite um Número: ");      
     numero = scan.nextInt();      
           
       while ( numero >= elemesmo){    
          ++elemesmo;    
              
          resto = numero % elemesmo;     
              
          if ( resto == 0){    
                  contador++;    
          }    
          
              
       }    
       if ( contador <= 2)   {    
              
          System.out.println("O Número "+numero+" é primo");    
       }    
       else    
       {    
          System.out.println("Numéro "+numero+" não é primo");    
       }             
        
     }      
           
  }   [/code]

//Obrigado a todos que me responderam, mas no fim depois de vários testes acabei fazendo dessa forma
//mas todos os jeitos foram bons…

import java.util.Scanner;

public class NumeroPrimo {
       public static void main(String[] args) {
               long inicial = System.currentTimeMillis();
               Scanner entrada = new Scanner(System.in);
               int numPrimo = 0;
               int numDivisores = 0;

               System.out.print("Digite um número:");
               numPrimo = entrada.nextInt();

               for (int i = 2; i < (int) (numPrimo/ 2 + 1 ); i++) {
                       if (numPrimo % i == 0) {
                               numDivisores++;
                               break;
                       }
               }
               if (numDivisores == 0) {
                       System.out.println("O numero " + numPrimo + " é primo");
               } else {
                       System.out.println("O numero " + numPrimo + " não é primo");
               }
               long fim = System.currentTimeMillis();
               long total = fim - inicial;
               System.out.println(total);

       }
}

[code]import java.util.Scanner;

public class Main {
int[] dp = new int[9999999];

public void solve() {

}

public static void main(String[] args) {
	Main main = new Main();
	int n = 0;
	Scanner sc = new Scanner(System.in);
	while (n != -1) {
		System.out.print("Digite -1 para sair ou digite qualquer outro numero: ");
		if ((n = sc.nextInt()) == -1) {
			System.exit(0);
		} else {
			System.out.println("O numero " + n + " " + (main.isPrime(n) == true ? " é primo" : " nao é primo."));
		}
	}
}

public boolean isPrime(int n) {
	if (n < dp.length) {
		if (dp[n] == 2)
			return false;
		else if (dp[n] == 1) {
			return true;
		} else {
			if (n <= 1)
				return false;
			if (n == 2)
				return true;
			if (n % 2 == 0)
				return false;
			int m = (int) Math.sqrt(n);

			for (int i = 3; i <= m; i += 2)
				if (n % i == 0) {
					dp[n] = 2;
					return false;
				}
			dp[n] = 1;
			return true;

		}
	} else {
		if (n <= 1)
			return false;
		if (n == 2)
			return true;
		if (n % 2 == 0)
			return false;
		int m = (int) Math.sqrt(n);

		for (int i = 3; i <= m; i += 2)
			if (n % i == 0) {
				return false;
			}

		return true;
	}
}

}[/code]