Escolar Documentos
Profissional Documentos
Cultura Documentos
Sundaram
Sundaram
Fá-lo, criando uma lista com os valores resultantes de multiplicar todos os números não
removidos no processo por 2 e somar ainda 1.
1.2 Sabemos que, sendo Pi(n) a função que dá o número de primos até n, Lim n->Inf Pi(n) *
Log(n) /n =1
Sendo que o Crivo de Sundaram calcula o número de primos ímpares até 2n+1, podemos
considerar o tamanho da lista calculada pelo Crivo como Pi(2n+1)-1 (ainda temos que excluir o
2).
Deste modo:
O gráfico mostra exatamente o que esperávamos: o limite tende para 2 por valores superiores
(1/n é positivo, para valores de n positivos).
1.3. Para implementar a função pretendida, apenas retirámos do código original as linhas de
código correspondentes a colocar os números na lista e adicionámos uma variável que
aumenta em 1 sempre que se vai remover um número que já foi antes removido.
1.4 Para perceber o crivo de Sundaram até um certo n, note-se que este começa por arranjar
as soluções de i+j+2ij, com 0<i<=j<=n e tanto i como j naturais.
Para as descobrir, criemos uma tabela com entradas i+j+2ij, sendo estas números pertencentes
a progressões aritméticas de razão ímpar=i (i será também o número da linha da tabela e j será
a coluna).
Na primeira linha, sendo i=1, teremos 1+j+2*1*j = 3j+1. Para as próximas linhas, aumentando
em 1 o valor de i, aumentamos em 2 a razão (na linha 2, por exemplo, ficaríamos com
2+j+2*2*j = 3j+2), continuando esta ímpar, havendo na tabela tanto números pares como
ímpares (passamos para a próxima linha quando i+j+2ij for superior a n).
O primeiro termo de cada linha, sendo j=1, será 1+i+2*1*i = 3i+1 (concluímos até que o
primeiro elemento da linha i será o j-ésimo elemento da linha 1).
Uma vez que sempre que passamos para a linha seguinte aumentamos em 2 a razão e a razão
na primeira linha é 3, percebemos que a razão em função da linha (chamemos-lhe agora L e à
coluna C, por questões de legibilidade) é dada por 2.L +1.
Assim, o C-ésimo elemento, pertencente a L-ésima linha é (3L +1) + (C −1)(2L +1):
Sendo (3L+1) o primeiro termo, (2L+1) a razão dessa linha e (C-1) quantas ordens temos que
aumentar para chegar ao termo pretendido.
Simplificando, (3L +1) + (C −1)(2L +1) = 3L +1 + 2CL -2L +C -1= 2CL + L + C =( 2C +1)L + C
No entanto, o crivo não termina aqui. Para descobrir cada primo ímpar é preciso multiplicar
por dois cada número da tabela e somar-lhe um:
Seja a= (2C +1)L + C, o correspondente número primo será 2a+1 = 2(( 2C +1)L + C)+1=
Sendo C e L números naturais, por corresponderem à linha e coluna do número “a” na tabela,
(2C+1) e (2L+1) serão números ímpares, ou seja (2C+1)(2L+1) será produto de números
ímpares maiores ou iguais a 3.
Fazendo m e L percorrer todos os valores possíveis (enquanto C+L+2CL não for superior a n),
encontramos todos os produtos de números ímpares até 2n+1. Acrescentando a essa lista os
produtos de dois naturais com pelo menos um número par (por serem divisíveis por 2 já não
serão primos), temos todos os números não-primos até 2n+1 e ainda o dois.
Escolhendo todos os outros números até 2n+1, encontram-se os números primos ímpares até
2n+1.