• Nenhum resultado encontrado

Números Primos & Fatoração

N/A
N/A
Protected

Academic year: 2022

Share "Números Primos & Fatoração"

Copied!
15
0
0

Texto

(1)

Números Primos & Fatoração

Estudaremos os conceitos de números primos e divisíveis, entenderemos como encontrá-los, fatorá- los e sobre a infinidade de números primos existentes. Também sobre os números ditos square-free.

[Instruções: Execute primeiramente a seção de recursos dos códigos. Apesar de nenhum resultado ser apresentado imediatamente, estas definições serão usadas posteriormente nesta área de trabalho]

1. O que é um Número Primo?

2. Crivo de Eratóstenes

3. Fatoração em Números Primos

4. Quantos Primos Existem? E qual é o maior Número Primo?

5. Números sem Raiz Quadrada

0. Código

> restart; with(plots):

Warning, the name changecoords has been redefined

> Primos := proc( N ) local n, m, M;

n := min(14, floor( sqrt(N)*1.5 ));

m := ceil( N/n);

print(cat(`O primeiro`, n*m, ` primos : `)); print(` `);

array( [seq( [ seq( ithprime( (j-1)*n+i), j = 1..n ) ], i =

(2)

end proc:

> Crivo de Eristótenes := proc( N ) local n, m, A,M, p,i,j,k, K;

n := min(20, floor( sqrt(N)*1.5 ));

m := ceil( N/n); M := n*m;

A:= array( [seq( [ seq( (i-1)*n+j+1, j = 1..n ) ], i = 1..m) ]):

print(cat(`Abaixo estão os inteiros a partir do 2 até `, M+1));

print(` `);

print(A); print(` `);print(` `);print(` `);

> K := 0;

for K while ( ithprime(K+1) < evalf(sqrt(M))) do end do;

for k from 1 to K do p := ithprime(k);

for i from 1 to m do for j from 1 to n do if(A[i,j]<>p)

then if( irem(A[i,j],p)=0) then A[i,j]:=` ` fi; fi;

od;od;

print(cat(`Abaixo estão os inteiros a partir do 2 até `, M+1,

` depois de remover os múltiplos de `,p,` (exceto o próprio

`,p,` )`)); print(` `);

print(A);print(` `);print(` `);

od;

print(` `);

print(`O Crivo de Eratóstenes.Diz que todo o número deixado no crivo é um número primo`);

print(`porque nós removemos todos os números compostos !!`);

end proc:;

Error, reserved word `end` unexpected

(3)

> LargestPrime := proc(p) local n,k, P, N,NS,product;

n := 0;

for n while ( ithprime(n) < p) do end do; P:= ithprime(n);

print(cat(`Se `, P, ` (O `,n,º `primo) é o maior número primo, então os primos podem ser :`));

product := 1;

for k from 1 to n do

product := product* ithprime(k); print(ithprime(k));

od;

print(` `); print(cat(`O produtos desses números primos conhecidos é ` , product));

N := product +1 ;

print(cat(`Se adicionarmos um a esse produto, nós temos o numero

`, N));

NS := numtheory[factorset](N);

if ( nops(NS) = 1)

then print(cat(N,` é o novo número primo sozinho!`));

else print(cat(N,` não é primo, mas isto possui novos primos.`));

print(N = ifactor(N));

fi;

end proc:;

Error, missing operator or `;`

> FindSquare := proc(N) local n,k,FS, square;

if( numtheory[issqrfree](N) )

then print(cat(N,` não tem raiz exata!`));

else

FS := numtheory[factorset](N);

square := 1; n:= nops(FS);

for k from 1 to n do

if( irem(N, FS[k]^2) = 0) then square := square*FS[k]^2; fi;

od;

(4)

print(cat(square, ` é o melhor quadrado que divide `,N));

fi;

end proc:

1. Pedras Fundamentais

Assim como a Física descobriu estruturas menores, como os átomos, e a Biologia, como as células, a Matemática também descobre números menores. Neste sentido, números divisíveis são aqueles compostos de números menores, enquanto números primos são compostos apenas deles próprios.

Enquanto a Física não consegue ir além dos quarks, a Matemática não consegue ir além dos números primos.

Vamos estudar essa "Matéria Matemática" (conjunto):

> 2100 = `(30)(70)`;

2100(30)(70)

Note que cada um dos fatores é divisível, já que também podem ser fatorados.

> 30 = `(6)(5)`; 70 = `(7)(10)`;

30(6)(5) 70(7)(10)

E, além disso, alguns desses fatores são divisíveis e ainda podem continuar a ser fatorados.

> 6 = `(3)(2)`; 10 = `(5)(2)`;

6(3)(2) 10(5)(2)

Considerando que cada número divisível pode ser fatorado e possivelmente esses fatores continuarem a ser fatorados, esse processo deve ter um fim. O processo termina quando todos os fatores de um número são primos. Enquanto um fator não for primo, ele ainda pode ser fatorado.

(5)

> 2100 = `(30)(70) = (6)(5)(7)(10) = (3)(2)(5)(7)(5)(2)`;

2100(30)(70) = (6)(5)(7)(10) = (3)(2)(5)(7)(5)(2)

Assim, após reunirmos todos os possíveis primos e posicioná-los em ordem crescente, teremos uma fatoração de primos para cada número divisível:

> ifactor(2100);

( )

2 2 3 ( )( ) 5 2 7( )

Podemos facilmente obter a fatoração de primos em qualquer número divisível usando o comando do Maple para fatoração de números inteiros, ifactor.

> 32: % = ifactor(%);

105: % = ifactor(%);

192: % = ifactor(%);

32 2( )5 105 3 ( )( ) 5 ( ) 7

192 2( )6 3( )

> 432: % = ifactor(%);

4332: % = ifactor(%);

4320: % = ifactor(%);

432 2( )4 3( )3 4332 2( )2 3 (( ) 19)2

4320 2( )5 3( )3 5( )

Na prática, você pode utilizar uma "árvore" de fatores para fatorar completamente um número e, então, juntar todas as "folhas" da árvore que são o mesmo número primo, para depois expressar na forma exponencial.

(6)

2. O que é um Número Primo?

Considerando os números naturais diferentes de um, existem dois tipos de números:

 Números primos - são os que podem ser divididos apenas por 1 ou por si próprios.

 Números divisíveis – são os que também podem ser fatorados por outros números.

> `Números primos: `;

7: %=ifactor(%); 31: %=ifactor(%); 173: %=ifactor(%);

Números primos:

7 7( ) 31 31( ) 173 173( )

> `Números compostos: `;

6: %=ifactor(%); 35: %=ifactor(%); 221: %=ifactor(%);

Números compostos:

6 2 ( )( ) 3 35 5 ( )( ) 7 221 13 (( ) 17)

Assim como os estudos todos os números naturais de grande magnitude são primos ou compostos.

Exemplificaremos com um primeiro conjunto desses números inteiros − os números de 2 a 40

> Inteiros := { seq(k, k = 2..40) } ;

Inteiros := {2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24, , , , , , , , , , , , , , , , , , , , , , , 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40, , , , , , , , , , , , , , , }

Esses são os números primos ² 40. Perceba que nenhum deles pode ser fatorado.

> Primos := select( is Primos, Integers );

for k from 1 to nops(Primos) do Primos[k] = ifactor(Primos[k]);

od;

Error, missing operator or `;`

(7)

Esses são os números divisíveis ² 40. Perceba que cada um deles pode ser fatorado.

> Composites := remove( is prime, Integers);

Error, missing operator or `;`

> for k from 1 to nops(Composites) do Composites[k] = ifactor(Composites[k]); od;

Error, (in ifactor) invalid arguments

3. Quantos Primos Existem? E qual é o maior Número Primo?

Parece que os números primos são infinitos:

Esses são os primeiros 20 números primos ....

> Primes(20);

( ) Primes 20

E esses são os primeiros 200 números primos ...

> Primes(100);

( )

Primes 100

Esses são os primeiros 250 números primos ....

> Primes(250);

( )

Primes 250

E também podemos encontrar o centésimo número primo:

> ithprime(100);

541

(8)

Ou o ducentésimo, tricentésimo, quadringentésimo..., e os números primos assim por diante

> for k from 1 to 20 do print( cat(100*k, `º primo é `, ithprime(100*k))); od;

100º primo é 541 200º primo é 1223 300º primo é 1987 400º primo é 2741 500º primo é 3571 700º primo é 5279 800º primo é 6133 900º primo é 6997 1000º primo é 7919 1100º primo é 8831 1200º primo é 9733 1300º primo é 10657 1400º primo é 11657 1500º primo é 12553 1600º primo é 13499 1700º primo é 14519 1800º primo é 15401 1900º primo é 16381 2000º primo é 17389

Pergunta que não ofende:

Existe um número primo ainda maior? Digamos que exista. Digamos que p é o maior número primo. E, então, se multiplicarmos todos os números primos juntos, e somarmos um:

1 * 2* 3*...*

N pl p p pn

Esse novo número não é divisível como qualquer número primo − o que é contraditório. Logo, devem existir mais números primos do que o suposto maior número primo. Isso significa que existe mesmo um número infinito de primos.

Vamos tentar ver isso com alguns primos. Consideremos que 7 seja o maior primo.

> LargestPrime(7);

( ) LargestPrime 7

(9)

E se pensássemos que 17 fosse o maior número primo? ou 37, ou 53? (Atenção: quanto maior o número, mais tempo vai demorar. Se demorar muito, tecle o sinal de Pare na barra de ferramentas no topo da tela do Maple.)

> LargestPrime(17);

( ) LargestPrime 17

> LargestPrime(37);

( ) LargestPrime 37

> LargestPrime(53);

( ) LargestPrime 53

Portanto, há um número infinito de números primos, pois por maior que seja o número que encontremos, sempre haverá um maior! Os matemáticos já encontraram números primos com centenas de milhares de dígitos.

Quantas páginas seriam necessárias para escrever um número de 300 000 dígitos?

Façamos uma experiência. Usando o meu computador (um PC ), eu acho que esse número é a maior potência de dez que eu posso digitar no meu computador em uma só linha. Digamos que tenhamos 52 linhas por página.

> 1*10^105;

10000000000000000000000000000000000000000000000000000000000000000000\

00000000000000000000000000000000000000

> `números de dígitos` = 300000;

`números de linhas` = %/105;

`números de páginas` = %/50;

números de dígitos300000 números de linhas

 

 

números de dígitos 105

20000 7

(10)

números de páginas

 



números de linhas

50 

 



números de dígitos

5250

400 7

> evalf((300000)/(105*52));

54.94505494

Seriam necessárias 55 páginas apenas para escrever um desses grandes números primos. Acho melhor não tentarmos encontrar e visualizar esses números, mas simplesmente viver sabendo que esses números realmente existem.

4. Crivo de Eratóstenes

Existe um método antigo para se encontrar vários números primos de uma vez. Ele começa com uma tabela de números naturais e depois elimina os múltiplos dos primos. Os primos em si devem permanecer mas deve-se remover todos os múltiplos daquele primo. Você só precisa usar números menores ou iguais à raiz quadrada do maior número da sua tabela.

Vamos procurar todos os primos até 40 ...

(Atenção : Após executar essa linha, você terá que retornar manualmente para ver cada passo).

> Sieve(40);

( ) Sieve 40

Neste diagrama, você também pode ver a distribuição de números primos neste diagrama. Observe os "primos consecutivos" : (3,5), (5,7),(11,13), (17,19), (29,31),(41,43).

Pergunta:

Quantos são os primos menores que 46? Veja o diagrama e conte quantos números tem. Você também pode executar a próxima linha.

> numtheory[pi](46);

(11)

14

Se você estiver pronto para um pouco mais de ação, tente o próximo comando ... e segure-se!

> Sieve(199);

( )

Sieve 199

Aqui você também pode ver a distribuição dos primos menores que 200 ! Perceba que eles tendem a ficar mais espaçados à medida que os números aumentam − em geral. Entretanto, ainda vemos

"Primos consecutivos" como 191 e 193 ou 197 e 199 mesmo próximos ao fim!

Você sabe quantos números há nessa tabela? Você deveria contar esse número:

> numtheory[pi](200);

46

Também podemos estudar a distribuição dos primos de outra maneira. Se contarmos quantos primos são menores ou iguais a um número dado e fizermos um gráfico dessa conta, obteremos esse gráfico bem interessante:

> plot( numtheory[pi](floor(x)), x = 2..120);

(12)

Parece haver um padrão...que é a conjetura de Gauss.

> plot( {numtheory[pi](floor(x)), x/ln(x)}, x = 2..120);

5. Números sem Raiz Quadrada

Para simplificarmos raízes quadradas, deixaremos dentro do radical apenas os números que não são quadrados perfeitos.

Esses números não apresentam raízes quadradas exatas. Observe os seguintes números por um instante.

> 42 : % = ifactor(%);

(13)

330 : % = ifactor(%);

2431 : % = ifactor(%);

42 2 ( )( ) 3 ( ) 7 330 2 ( )( ) 3 ( ) 5 ( 11)

2431 11 (( ) 13 () 17)

> FindSquare(42);

FindSquare(330);

FindSquare(2431);

( ) FindSquare 42

( )

FindSquare 330

( )

FindSquare 2431

Cada um desses números é fatorável − mas todos os fatores têm o expoente 1.

Obviamente, nenhum primo é quadrado perfeito.

> 17 : % = ifactor(%);

41 : % = ifactor(%);

97 : % = ifactor(%);

17 17( ) 41 41( ) 97 97( )

> FindSquare(17);

FindSquare(41);

FindSquare(97);

( ) FindSquare 17

( ) FindSquare 41

( ) FindSquare 97

Agora, vamos observar esses números, que não são quadrados perfeitos, porém, são fatoráveis.

Você consegue identificar quadrados perfeitos "escondidos" entre os fatores?

> 12 : % = ifactor(%);

375 : % = ifactor(%);

72 : % = ifactor(%);

686 : % = ifactor(%);

12 2( )2 3( ) 375 3 ( )( ) 5 3 72 2( )3 3( )2 686 2 ( )( ) 7 3

> FindSquare(12);

(14)

FindSquare(375);

FindSquare(72);

FindSquare(686);

( ) FindSquare 12

( )

FindSquare 375 ( ) FindSquare 72

( )

FindSquare 686

Observe que os números sem raiz quadrada são sempre produtos de números primos distintos. Se um número primo tiver um quadrado, um cubo, a quarta potência etc ..., então ele contém no mínimo um quadrado perfeito.

> 6 : % = ifactor(%); FindSquare(%%);

6 2 ( )( ) 3 ( ) FindSquare 6

> 12 : % = ifactor(%); FindSquare(%%);

12 2( )2 3( ) ( ) FindSquare 12

> 24 : % = ifactor(%); FindSquare(%%);

24 2( )3 3( ) ( ) FindSquare 24

> 48 : % = ifactor(%); FindSquare(%%);

48 2( )4 3( ) ( ) FindSquare 48

> 96: % = ifactor(%); FindSquare(%%);

(15)

96 2( )5 3( ) ( ) FindSquare 96

> 192 : % = ifactor(%); FindSquare(%%);

192 2( )6 3( )

( )

FindSquare 192

Referências

Documentos relacionados

ferramentas avançadas de busca em bases de dados, uso de vocabulários controlados bem como estruturação de estratégias de busca eficientes para revisões de literatura, em especial

&#34;Sessão assíncrona&#34; é aquela que é desenvolvida em tempo não real, em que os alunos trabalham automaticamente, acedendo a recursos educativos e formativos e

O crânio apresentou dois pares de alvéolos relativos aos incisivos, internos ligeiramente maiores que os externos; um par de alvéolos para os caninos; um par de

Discente do Departamento de Fisioterapia da Universidade Federal da Paraíba UFPB, João Pessoa, PB - Brasil, e-mail: anamerciaf@hotmail.com Fisioterapeuta, doutor em Fisioterapia

O uso também não é indicado se tiver asma induzida por analgésicos, ou se desenvolver reações anafilactoides (manifestações na pele e inchaço dos lábios, língua e garganta) ou

Não será aplicada taxa por excesso de peso a clientes Business ou Ibéria Plus Platina, Ouro ou Clube Fiesta, quando o peso total da sua bagagem não superar o peso da sua

O objetivo deste trabalho foi correlacionar fatores geológicos (litotipos, feições estruturais e declividade média) com a ocorrência de setores de risco alto e muito alto

Em seguida, multiplicar o volume de UEPs ociosas pelo valor da UEP do mês para conhecer o valor monetário da ociosidade fabril (vide Tabelas 6 e 7 de seção anterior). b) Determinar