Crivo de Eratóstenes Simples em Java

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

[ Hits: 7.969 ]

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

Código para validar CPF e CNPJ otimizado

Pesquisa Ternária em um vetor ordenado

Usando Enhanced For

Simples applet para determinar invertido do digitado

Ordenação de vetores com letras do alfabeto


  

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