Crivo de Eratóstenes Simples em Java
Publicado por Perfil removido (última atualização em 30/07/2012)
[ Hits: 8.077 ]
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.
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 (); } }
Código para validar CPF e CNPJ otimizado
Um classe que facilita a leitura de dados do teclahdo
Planilha de cálculo para multa judicial
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Como fazer boot em img do debian 12.img da web? (7)
Manjaro 25.0 no permite usar crontab (1)
trocar linhas [RESOLVIDO] (11)