Changes

Jump to navigation Jump to search
no edit summary
Outra abordagem que você pode considerar tentar é construir duas listas: uma contendo a lista de números de Fibonacci até certo ponto, e outro contendo a sequência de números primos, gerados utilizando a função ithprime (que não é probabilística). Em seguida, cruzar as duas listas para extrair todos os membros que têm em comum. Esta abordagem tem a vantagem de que evita a utilização do teste de primaridade probabilística utilizado por ISPrime.
 
 
'''5. Encontre todos os números primos que não excedam 10000, usando o crivo de Eratóstenes.'''
 
'''Solução''
 
Implementar o crivo de Eratóstenes é um exercício não-trivial em qualquer linguagem de programação, mas Maple torna isso mais fácil do que a maioria.
 
O crivo produz uma lista de todos os números primos que não excedam um dado número inteiro positivo n. Vamos modelar a lista de números inteiros de 1 a n por um booleano com valores em uma matriz obtida com o ISPrime. A i-ésima entrada do ISPrime terá o valor verdadeiro se i é um número primo, e false de outra forma. No início do algoritmo, todas as entradas são inicializados como false. Isto corresponde a ter escrito a lista de números de 1 a n, mas não ter tirado nenhum para fora. Para tirar um número, definimos seu valor na matriz ISPrime para false. Progredindo através do algoritmo detecta a não-primaridade, e entradas serão marcadas como falsas à medida que são descobertos a ser múltiplos.
31

edits

Navigation menu