PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WX - Exemplo de como calcular um Número Primo
WX - Exemplo de como calcular um Número Primo
Iniciado por adrianoboller, abr., 25 2016 3:51 AM - Sem resposta
Membro registado
3.659 mensagems
Popularité : +175 (223 votes)
Publicado em abril, 25 2016 - 3:51 AM
Prezados,

Definição de Número Primo:

Número primo, é um número p cujo conjunto dos divisores não inversíveis não é vazio, e todos os seus elementos são produtos de p por números inteiros inversíveis. De acordo com esta definição, 0, 1 e -1 não são números primos.

Um número inteiro primo é aquele que tem somente quatro divisores distintos, p \in \mathbb{Z}: \pm 1 e \pm p. Já um número natural primo tem unicamente dois divisores naturais distintos: o número um e ele mesmo[1] .

Uma das questões pesquisadas sobre os números primos é de como eles se distribuem nos naturais, com que frequência isso ocorre e qual a distância que existe entre eles. Por exemplo, existem vários pares de números primos que se diferem em duas unidades: (3, 5), (5, 7), (11, 13), (17, 19), (41, 43), (59, 61), (71, 73), (101, 103), (107, 109). Pares de números primos com essa propriedades são denominados de primos gêmeos. Não se sabe ainda se existem infinitos pares de números primos gêmeos.[2]

A propriedade de ser um primo é chamada "primalidade", e a palavra "primo" também é utilizada como substantivo ou adjetivo, se um número inteiro tem módulo maior que um e não é primo, diz-se que é composto (0, 1 e -1 também não são compostos). Como "dois" é o único número primo par, o termo "primo ímpar" refere-se a todo primo maior do que dois.

Existem infinitos números primos, como demonstrado por Euclides por volta de 300 a.C..[3] O conceito de número primo é muito importante na teoria dos números. Um dos resultados da teoria dos números é o Teorema Fundamental da Aritmética, que afirma que qualquer número natural diferente de 1 pode ser escrito de forma única (desconsiderando a ordem) como um produto de números primos (chamados fatores primos): este processo se chama decomposição em fatores primos (fatorização).

Existem 168 números primos positivos menores do que 1000[4] . São eles:

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997.

Exemplos de decomposições:

4 = 2 \times 2
6 = 2 \times 3
8 = 2 \times 2 \times 2
9 = 3 \times 3
10 = 2 \times 5

(A última parte desta sessão tem como fonte o livro RIBENBOIM, Paulo. Números Primos. Velhos mistérios e novos recordes. 1ª ed. Rio de Janeiro: IMPA, 2012.)

Para todo primo p seja p# o produto de todos os números primos q inferiores ou iguais a p. De acor472.342.734.872.390.487 = 3 \times 7 \times 827 \times 978.491 \times 27.795.571 [5] do com a terminologia empregue por Dubner (1987), p# é chamado o primorial de p. Temos dois problemas em aberto sobre a noção de primorial:[6]

a) Existe uma infinidade de números primos p tais que p# + 1 seja primo? b) Existe uma infinidade de números primos p tais que p# + 1 seja composto?

O que se sabe:

O maior número primo conhecido da forma p# + 1 é 392113# + 1, com 169966 algarismos, foi descoberto por D. Heuer et al. Em 2001. A lista completa dos números primos p < 632700 tais que p# + 1 seja primo é a seguinte: P = 2, 3, 5, 7, 11, 31, 379, 1019, 1021, 2657, 3229, 4547, 4787, 11549, 13649, 18523, 23801, 24029, 42209, 145823, 366439 e 392113.
Caldwell e Gallot publicaram em 2002 a lista para p < 120000. O primo 145823# + 1 foi descoberto em 2000 por A.E. Anderson, D.E. Robinson et al. O primo 366439# + 1 foi descoberto em 2001 por D. Heuer et al.
15877# – 1 é o maior primo encontrado da forma p# – 1; tem 6845 algarismos e estava incluído na lista de Caldwell e Gallot de 2002. A lista dos números primos p < 650000 tais que p# – 1 é primo é a seguinte: 3, 5, 11, 13, 41, 89, 317, 337, 991, 1873, 2053, 2377, 4093, 4297, 4583, 6569, 13033 e 15877. A lista para p < 120000 foi publicada em 2002 por Caldwell e Gallot, posteriormente nenhum outro primo p# – 1 foi descoberto.

Os gregos foram os primeiros a perceber que qualquer número natural, exceto o 1, pode ser gerado pela multiplicação de números primos, os chamados blocos de construção". A primeira pessoa, até onde se sabe, que produziu tabelas de números primos foi Eratóstenes, no terceiro século a.C. Ele escrevia inicialmente uma lista com todos os números de 1 a 100. Em seguida escolhia o primeiro primo, 2, e eliminava da lista todos os seus múltiplos. Passava ao número seguinte que não fora eliminado e procedia também eliminando todos os seus múltiplos. Desta forma Eratóstenes produziu tabelas de primos, mais tarde este procedimento passou a se chamar de crivo de Eratóstenes.

Assim obtemos: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 77, 79, 83, 89. 91, 97, ... A partir desse procedimento podemos simplificar a descobertas de primos usando o lema : Se um número natural n > 1 não é divisível por nenhum primo p tal que p^2 ≤ n , então ele é primo.(demonstrado adiante). Este lema fornece um teste de primalidade, pois, para verificar se um dado número n é primo, basta verificar que não é divisível por nenhum p que não supere \sqrt{n}..

Durante o século XVII os matemáticos descobriram o que acreditavam ser um método infalível para determinar se um número N era primo: calcule 2 elevado a potência N e divida-o por N, se o resto for 2, então o número será primo. Em termos da calculadora-relógio de Gauss, esses matemáticos estavam tentando calcular 2^N em um relógio com N horas. Em 1819, o teste dos números primos foi eliminado, pois funciona para todos os números até 340, mas falha para 341 = 11 \times 31. Exceção descoberta com uma calculadora-relógio de Gauss contendo 341 horas utilizada para simplificar a análise de um número como 2^{341}.


Segue exemplo em Windev:





//Numeros Primos

X is real = 0

Contador is int = 0

Glo_Pare = ""

LOOP (1000000)

Multitask(1)

MultitaskRedraw(WIN_NumeroPrimo)

IF Glo_Pare = "Agora" THEN
BREAK
END

X += 1

IF Modulo(X,1) = 0 AND Modulo(X, X) = 0 AND X > 1

IF Modulo(X, X) = 0 THEN
Contador += 1
END
IF Modulo(X, 1) = 0 THEN
Contador += 1
END
IF Modulo(X, 2) = 0 AND X <> 2
Contador += 1
END
IF Modulo(X, 3) = 0 AND X <> 3
Contador += 1
END
IF Modulo(X, 4) = 0 AND X <> 4
Contador += 1
END
IF Modulo(X, 5) = 0 AND X <> 5
Contador += 1
END
IF Modulo(X, 6) = 0 AND X <> 6
Contador += 1
END
IF Modulo(X, 7) = 0 AND X <> 7
Contador += 1
END
IF Modulo(X, 8) = 0 AND X <> 8
Contador += 1
END
IF Modulo(X, 9) = 0 AND X <> 9
Contador += 1
END
IF Contador = 2
EDT_NumeroPrimo += X + "; "
EDT_NumeroPrimo1 = X
END
Contador = 0
END

END


:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.blogspot.com.br/