Crivo de Eratóstenes Simples em Java
Publicado por Perfil removido (última atualização em 30/07/2012)
[ Hits: 7.891 ]
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 (); } }
Calcular ritmo de corrida de rua
Contador de caracteres, palavras e linhas de um arquivo
Avaliação de expressões matemáticas
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta