Pequeno algoritmo para determinar se um número é primo ou não entre 1 e 10000

Publicado por Bruno Oliveira da Silva 13/04/2004

[ Hits: 19.184 ]

Download primus.java




Este algoritmo escrevi apenas como exercicio do meu aprendizado no livro do Deitel, como vi na internet algumas pessoas com dificuldade, resolvi disponibilizar, creio que nao seja  a solução perfeita, mas foi a que encontrei e será ótimo se existirem críticas a respeito, acredito que isso só venha a acrescentar, espero que isso seja de valia para alguém e paz a todos, Bruno.

  



Esconder código-fonte

//Pequeno exercício para determinar que número é ou não primo entre 1 e 10000;
//São importadas as classes necessárias para construção do applet e do container;
import javax.swing.*;
import java.awt.*;

//Faz com que a classe criada primus herde as propriedades e atributos de JApplet;
public class primus extends JApplet {
    
   JTextArea meidecampo;
   JScrollPane barrinha;
    
    
   //Inicializa os parâmetros necessários definindo o painel de conteúdo, layout
   //Criando um novo objeto JTextArea e JScrollPane para exibição da caixona de texto
   //com barra de rolagem;
   public void init () {
       
       
       String exibidu="";
       
       Container container = getContentPane();
       container.setLayout(new FlowLayout());
       
       meidecampo = new JTextArea(17,25);
       barrinha = new JScrollPane(meidecampo);
       
       container.add(barrinha);
       
       
      for (int i=1; i <= 10000; i++) {
      
      exibidu += primim(i) + "\n";
      
      }
       
      meidecampo.setText(exibidu);
       
   }
    
      //Método para determinar se o número é primo ou não;
      public String primim(int x) {
      
      String acumulador="";
      int contador=1;
          
          for (int j=1; j < x; j++) {
          
          
         if (x % j == 0)      
         {
         contador++;
         }
          
             if (contador > 2) {
             
             acumulador = x + " nao eh primo"; 
         
             } else {
         
             acumulador = x + " eh primo";
             
             }
          }
          
          
          return acumulador;
          
      
      }
       
    }

//Obs estou ainda aprendendo....:)

Scripts recomendados

Pesquisa Binaria em um vetor ordenado

Algoritmos para Teoria dos Números

Login gráfico em java

Agenda eletrônica

Conectando 2 Maquinas no Java


  

Comentários
[1] Comentário enviado por Schuenemann em 18/05/2005 - 21:00h

O laço não precisa ir de 1 a x.
Basta ir de 2 à raíz quadrada de x.
Se conseguir dividir qualquer número, não é primo.

[2] Comentário enviado por gabrielmelo em 19/10/2005 - 14:43h

Falta você colocar o método main, nenhuma classe funciona sem ele, é obrigatório usa-lo. E dentro do método main você instânciar a classe primus e depois chama o método init(). E pronto, funciona belezinha.

Abraço.

[3] Comentário enviado por mario.san em 30/04/2007 - 11:08h

Na disciplina de Matemática Discreta se estuda que: 2, 3 e 5 são primos. Os demais primos podem ser encontrados pelo seguinte teorema: um número é primo se, dividindo ele por 6 , restar 1 ou 5.

Código completo em: http://anacarol.blog.br/?p=147

[4] Comentário enviado por badrianpg em 31/08/2007 - 10:02h

Ok...mas e o número 25???
25 % 6 == 1;
pelo seu teorema ele é primo, coisa que na realidade não acontece...Obrigado..bjoss


Contribuir com comentário