Resumo:
- aplicar o algoritmo da diviso sucessivas vezes
- o MDC procurado o ltimo resto no-nulo das divises
O algoritmo de Euclides
Em pseudocdigo:
function MDC(a,b)
x:=a
y:=b
while y 0
r:=x mod y
x:=y
y:=r
e nd
{MDC(a,b) o valor de x}
Nota: o prprio algoritmo de Euclides pode ser adaptado para fornecer os valores de s e t
para: d = s.a + t.b = MDC(a,b)
6
INE5403 Fundamentos de Matemtica Discreta Prof Daniel S Freitas 7
Exemplo: MMC(95256,432)=?
95256=23.35.72
432=24.33
MMC(95256,432)=24.35.72
MDC e MMC
Teorema: Sejam a e b inteiros positivos. Ento: a.b = MDC(a,b) . MMC(a,b)
Prova: ?
MDC(22.33.51,23.32.71)= 22.32.50.70=36
MMC(22.33.51,23.32.71)= 23.33.51.71=7560
7
INE5403 Fundamentos de Matemtica Discreta Prof Daniel S Freitas 8
Aritmtica Modular
Em muitas situaes estamos interessados apenas no resto da diviso de um inteiro por outro.
Por exemplo, quando perguntamos que horas sero daqui a 50 horas, o que nos interessa
apenas o resto quando 50 + hora atual dividido por 24.
Como o que nos interessa em muitas situaes so apenas os restos, temos notaes especiais
para eles.
Definio: Seja a um inteiro e m um inteiro positivo. Denota-se por a mod m o resto que
obtido quando a dividido por m.
- segue desta definio que a mod m o inteiro r tal que a=q.m+r e 0 r<m .
Soluo:
6|(17-5), pois 17-5 = 12, logo: 175 (mod 6)
24-14=10, mas 6 no divide 10, logo: 24 14 (mod 6)
Prova:
1) se ab (mod m), ento m|(a-b)
existe um inteiro k tal que a-b=k.m
a=b+k.m
8
INE5403 Fundamentos de Matemtica Discreta Prof Daniel S Freitas 9
2) conversamente:
se existe um inteiro k tal que a=b+k.m, ento k.m=b-a
m divide a-b
ab (mod m)
Exemplo: Como 72 (mod 5) e 11=1 (mod 5), o teorema anterior garante que:
9
INE5403 Fundamentos de Matemtica Discreta Prof Daniel S Freitas 10
Exemplo:
Suponha que em um certo processador muito mais rpido realizar clculos com inteiros <
100 do que com inteiros maiores.
Podemos nos restringir a clculos com inteiros < 100 utilizando aritmtica modular com os
restos destes inteiros mdulo 99,98,97 e 95 (primos 2 a 2 entre si).
- isto nos permitiria representar qualquer inteiro entre 0 e 99989795 (=89403930).
Exemplo numrico:
123684 pode ser representado por (33,8,9,89)
413456 pode ser representado por (32,92,42,16)
10