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

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

Exemplo de sobrecarga de métodos

Login gráfico em java

Código Java para validar CPF

Algoritmos para Teoria dos Números

Script para cálculo de distâncias na superfície terrestre utilizando coordenadas geográficas


  

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