[ create a new paste ] login | about

Link: http://codepad.org/TQyhloaW    [ raw code | fork ]

Python, pasted on Jul 27:
# -*- coding: utf-8 -*-
nprimos, c = range(2,2000001), 0
while True:
    for v in nprimos:
        nprimos = filter(lambda x: x % v != 0, nprimos)
        nprimos.insert(c,v);c = c +1;break
    if len(nprimos) == 148933: break
print("Foram encontrados %i números primos abaixo de dois milhões.\nA soma de todos os números primos encontrados é %i.") %(len(nprimos),sum(nprimos))

# Linha 2 - Variável nprimos recebe uma lista contendo o valor 2 até 2 milhões, variável c que será um contador recebe 
#o valor inicial zero.
# 
# Linha 3 - Laço de repetição infinito criado.
# 
# Linha 4 - Laço de repetição for criado, irá percorrer cada valor da lista nprimos.
# 
# Linha 5 - Variável nprimos recebe uma nova lista gerada pela função filter, a função filter retorna uma lista que é a 
#saida de outra função dentro do filter, que no caso foi o comando lambda, que basicamente serve pra criar uma função 
#descartável, no caso criei uma função que retorna uma lista com os valores da variável nprimos que não são múltiplos 
#do valor da variável v, que inicialmente começa com 2, ou seja, primeiramente a variável nprimos (que antes tinha o 
#uma lista com itens a partir do número 2 até 2 milhões) recebe uma lista com todos números acima de v que não são múltiplos de v.
# 
# Linha 6 - Na Linha acima quando é checado se o valor da variável v é múltiplo/divisível por v, o próprio valor de v é 
#removido da lista, nessa linha 6 eu adiciono o valor de v de volta ao inicio da lista.
# 
# Linha 7 - Se o número de números primos for igual ao valor limite que se pode atingir o laço infinito é interrompido.
# 
# Linha 8 - Mensagem mostra quantos números primos foram achados, pra isso é usado a função len, que checa quantos 
#itens estão na lista nprimos, também é mostrada a soma de todos números primos encontrados, para isso é usada a função sum, que soma todos os itens de uma lista.		


Create a new paste based on this one


Comments: