Crivo de Eratóstenes Simples em Java

Publicado por Perfil removido (última atualização em 30/07/2012)

[ Hits: 7.905 ]

Download sieve001.java




Versão do crivo em Java.

Procurou-se usar algo que permitisse uma capacidade melhor e maior de armazenamento dos números encontrados usando recursos próprios e particulares desta linguagem.

A classe sieve001 foi criada com inicial lowercase para manter o padrão com o nome dos outros arquivos já publicados.

Pode-se substitui o 23.0 do Math.pow(2.0, 23.0) - 1 por um número maior a fim de se tabular um conjunto maior.

Para Math.pow(2.0, 31.0) - 1 a demora é absurda.

As variáveis foram nomeadas de forma abusiva, particularmente uma notação "austroHungara" sem os agravantes.

  



Esconder código-fonte

import java.lang.String;
import java.lang.Long;
import java.util.ArrayList;

public class sieve001 {

   static final long longLimit = (long) Math.pow(2.0, 23.0) - 1;

   public static void main(String args[]) {

      ArrayList<Long> longPrimes = new ArrayList<Long>();

      long longNumber=5;
      int intNext=0, intIndex=0;
      double doubleSquareRoot=0.0;

      longPrimes.add(new Long(2));
      longPrimes.add(new Long(3));

      do {

         intNext = 0;
         doubleSquareRoot = Math.sqrt(longNumber);

         while ((double) longPrimes.get(++intNext)<doubleSquareRoot && (longNumber%longPrimes.get(intNext))!=0);

         if ((double) longPrimes.get(intNext)>doubleSquareRoot) longPrimes.add(new Long(longNumber));

         longNumber+=((longNumber%3==2)?2:4);

      } while (longNumber<longLimit);

      for (intIndex=0; intIndex<longPrimes.size(); intIndex++) System.out.print (String.valueOf(longPrimes.get(intIndex)) + " ");

      System.out.println ();

   }

}

Scripts recomendados

Exemplo de sobrecarga de métodos

Reconhecedor de palavras

Código Java para validar CPF

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

Código para validar CPF e CNPJ otimizado


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts