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.869 ]

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

Conversor de bases

Ordenação de vetores com letras do alfabeto (atualizado)

Pesquisa Binaria em um vetor ordenado

Gerador de números aleatórios em Java

Pesquisa Ternária em um vetor ordenado


  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts