Crivo de Eratóstenes Simples em Java
Publicado por Perfil removido (última atualização em 30/07/2012)
[ Hits: 8.073 ]
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
Script para cálculo de distâncias na superfície terrestre utilizando coordenadas geográficas
Determinante de uma matriz de ordem 3.
Planilha de cálculo para multa judicial
Contador de caracteres, palavras e linhas de um arquivo
Nenhum coment�rio foi encontrado.
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como gerar um podcast a partir de um livro em PDF
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Organizando seus PDF com o Zotero
Erro no realm join [Resolvido]
Um programa para baixar vídeos: Parabolic
Como Definir o Painel Principal em Múltiplos Monitores no Linux Mint
trocar linhas [RESOLVIDO] (11)
tentando instalar em um notebook antigo o Linux LegacyOS_2023... (7)
BlueMail não abre no Kubuntu 25.04 (1)
Driver de rede realtek 8821ce bugado (8)
Atalhos duplicados (sobras de instalações anteriores) [RESOLVIDO] (5)