Números Inteiros Algoritmo da Divisão e suas Aplicações

Documentos relacionados
Números Inteiros Axiomas e Resultados Simples

Matemática Discreta. Fundamentos e Conceitos da Teoria dos Números. Universidade do Estado de Mato Grosso. 4 de setembro de 2017

Já falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas.

1 Congruências e aritmética modular

Definição. Diremos que um número inteiro d é um divisor de outro inteiro a, se a é múltiplo de d; ou seja, se a = d c, para algum inteiro c.

1. O que podemos dizer sobre a imagem da função. f : Z Z, f(x) = x 2 + x + 1?

Aritmética Racional MATEMÁTICA DISCRETA. Patrícia Ribeiro. Departamento de Matemática, ESTSetúbal 2018/ / 42

Elementos de Matemática Finita

4.1 Cálculo do mdc: algoritmo de Euclides parte 1

11.1) Noções Elementares 11.2) MDCs e algoritmos de Euclides 11.3) Aritmética modular 11.4) Aplics da MD: O sistema criptográfico RSA

Roteiro da segunda aula presencial - ME

Programa Combinatória Aritmética Racional MATEMÁTICA DISCRETA. Patrícia Ribeiro. Departamento de Matemática, ESTSetúbal 2018/ / 52

Portal da OBMEP. Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano

1 Conjuntos, Números e Demonstrações

Existem infinitos números de Carmichael, mas não provaremos isso neste curso.

Aula prática 5. Funções Recursivas

é uma proposição verdadeira. tal que: 2 n N k, Φ(n) = Φ(n + 1) é uma proposição verdadeira. com n N k, tal que:

Referências e materiais complementares desse tópico

Números são números, letras são números e sinais de pontuação, símbolos e até mesmo as instruções do próprio computador são números.

1).- Significado de congruência e de congruência numérica

Elementos de Matemática Finita

MATEMÁTICA MÓDULO 8 DIVISIBILIDADE E CONGRUÊNCIA. Professor Matheus Secco

Módulo de Números Naturais. Divisibilidade e Teorema da Divisão Euclideana. 8 ano E.F.

NÚMEROS INTEIROS E CRIPTOGRAFIA UFRJ

Algoritmos. OBMEP Teoria dos números - Parte I. Algoritmo da divisão:

a = bq + r e 0 r < b.

, com k 1, p 1, p 2,..., p k números primos e α i, β i 0 inteiros, as factorizações de dois números inteiros a, b maiores do que 1.

Resumo. Palavras-chave: implementações aritméticas; inverso modular; sistema de restos.

MATEMÁTICA 1 MÓDULO 2. Divisibilidade. Professor Matheus Secco

MAT Álgebra I para Licenciatura 2 a Lista de exercícios

NÚMEROS INTEIROS. Álgebra Abstrata - Verão 2012

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

REVISÃO DE MATEMÁTICA BÁSICA

Módulo: aritmética dos restos. Divisibilidade e Resto. Tópicos Adicionais

Congruências I. Por exemplo, 7 2 (mod 5), 9 3 (mod 6), 37 7 (mod 10) mas 5 3 (mod 4). Veja que a b (mod m) se, e somente se, m a b.

Matemática para Ciência de Computadores

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Introdução à Computação Prof. André Luís Belini

Introdução à Teoria dos Números Notas de Aulas 3 Prof Carlos Alberto S Soares

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

1 Potências e raízes em Aritmética Modular. Seja p primo e a um inteiro primo com p; a aplicação

Conjuntos. Notações e Símbolos

Demonstrações Matemáticas Parte 2

SISTEMAS DE NUMERAÇÃO CONVERSÕES ENTRE BASES. Prof. André Rabelo

Soma de Quadrados. Faculdade de Matemática, UFU, MG

Polos Olímpicos de Treinamento. Aula 1. Curso de Teoria dos Números - Nível 2. Divisibilidade I. Samuel Barbosa Feitosa

Introdução à Teoria dos Números Notas de Aulas 3 Prof Carlos Alberto S Soares

Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido

Os números inteiros. Álgebra (Curso de CC) Ano lectivo 2005/ / 51

MATEMÁTICA DISCRETA ARITMÉTICA RACIONAL (2/6) Carlos Luz. EST Setúbal / IPS Abril 2012

Sistemas Numéricos - Aritmética. Conversão de Bases. Prof. Celso Candido ADS / REDES / ENGENHARIA

Matemática Discreta. Introdução à Teoria de Números - Exercícios 1 o ano /2011

1 Congruência. 2. m mmc(n, m) m a b. De 1) e 2) segue que: a b mod n e a b mod m.

A = B, isto é, todo elemento de A é também um elemento de B e todo elemento de B é também um elemento de A, ou usando o item anterior, A B e B A.

XIX Semana Olímpica de Matemática. Nível 3. Polinômios Ciclotômicos e Congruência Módulo p. Samuel Feitosa

MA14 - Aritmética Unidade 15 - Parte 1 Resumo. Congruências

Semana Olímpica 2019

Unidade I MATEMÁTICA. Prof. Celso Ribeiro Campos

Equações Diofantinas I

objetivos Teoria dos anéis 2 a parte 4 Meta da aula Pré-requisito

Criptografia e Segurança de Rede Capítulo 4. Quarta Edição por William Stallings

Introdução à Teoria dos Números - Notas 4 Tópicos Adicionais II

No. Try not. Do... or do not. There is no try. - Master Yoda, The Empire Strikes Back (1980)

E essa procura pela abstração da natureza foi fundamental para a evolução, não só, mas também, dos conjuntos numéricos

Inteiros. Inteiros. Congruência. Discrete Mathematics with Graph Theory Edgar Goodaire e Michael Parmenter, 3rd ed 2006.

Material Teórico - Módulo: Vetores em R 2 e R 3. Módulo e Produto Escalar - Parte 1. Terceiro Ano - Médio

Hewlett-Packard CONJUNTOS NUMÉRICOS. Aulas 01 a 08. Elson Rodrigues, Gabriel Carvalho e Paulo Luiz Ramos

O REI MALIGNO E A PRINCESA GENEROSA: SOBRE BASES NUMÉRICAS E CRITÉRIOS DE DIVISIBILIDADE

Notas de Aulas. Prof a Maria Julieta Ventura Carvalho de Araujo. Prof. Frederico Sercio Feitosa (colaborador)

a = bq + r e 0 r < b.

Bézout e Outros Bizus

Aula 1: Introdução ao curso

Dado um inteiro positivo n, definimos U(n) como sendo o conjunto dos inteiros positivos menores que n e primos com n. Não é difícil ver que a

Prof. Leonardo Augusto Casillo

Conversão de Bases. Introdução à Organização de Computadores 5ª Edição/2007 Página 54. Sistemas Numéricos - Aritmética. Prof.

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 2. Sexto Ano. Prof. Angelo Papa Neto

Aritmética dos Restos. Problemas com Congruências. Tópicos Adicionais

Curso de Aritmética Capítulo 1: Conjuntos Numéricos, Operações Básicas e Fatorações

Múltiplos, Divisores e Primos II - Aula 07

SISTEMA DECIMAL. No sistema decimal o símbolo 0 (zero) posicionado à direita implica em multiplicar a grandeza pela base, ou seja, por 10 (dez).

CENTRO EDUCACIONAL GIRASSOL TD de Matemática Prof.: Tiago Rodrigues

(Ciência de Computadores) 2005/ Diga quais dos conjuntos seguintes satisfazem o Princípio de Boa Ordenação

CIC 111 Análise e Projeto de Algoritmos II

Cálculo Diferencial e Integral I

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Introdução à Teoria dos Números - Notas 4 Máximo Divisor Comum e Algoritmo de Euclides

Programação Estruturada

Algoritmo de Euclides Estendido, Relação de Bézout e Equações Diofantinas. O Algortimo de Euclides Estendido. Tópicos Adicionais

MC102 Algoritmos e Programação de Computadores

Transcrição:

Números Inteiros Algoritmo da Divisão e suas Aplicações Diferentemente dos números reais (R), o conjunto dos inteiros (Z) não é fechado para a divisão. Esse não-fechamento faz com que a divisão entre inteiros seja um tanto esquisita. Na verdade, essa esquisitice é útil em uma grande variedade de interessantes aplicações práticas. A divisão de inteiros será vista nesta aula na forma de um teorema chamado de algoritmo da divisão. Depois, veremos aplicações teóricas e práticas desse teorema. 1. Algoritmo da Divisão O teorema conhecido como Algoritmo da Divisão (apesar de não ser um algoritmo), informalmente, diz que: ao dividir um inteiro n (dividendo) por um inteiro positivo d (divisor), obtemos dois resultados: o quociente q e o resto positivo r O que o lema faz é explicar a relação algébrica entre essas quatro variáveis (n, d, q e r), como veremos a seguir 1. Teorema Algoritmo da Divisão : Se n é um número inteiro e d é um número inteiro positivo Então, existem dois números inteiros únicos q e r tais que i. n = d. q + r ii. e 0 r < d (Dizemos que q e r são o resultado da divisão de n por d, sendo o q chamado de quociente da divisão e o r, chamado de resto). 1 Observe que, na forma como apresentamos este teorema, o divisor d não pode ser zero e também não pode ser negativo. Trabalharemos assim nesta disciplina, mas a última exigência pode ser relaxada. 1

Demonstração direta: A demonstração deste teorema se baseia na aplicação do axioma chamado de princípio da boa ordem. Provamos as partes (i) e (ii) em sequência. Sejam n e d dois inteiros quaisquer, onde d > 0. Agora, considere o conjunto abaixo construído a partir de n e d: C = { n k.d onde k é um inteiro qualquer e n k.d 0 } = {..., n 3d, n 2d, n d, n, n+d, n+2d, n+3d,... } Primeiramente, podemos afirmar que C é não-vazio, independente de n ou d. (Pois, adotando k=0 ou k=n, teremos, para um deles, que n kd 0). Assim, o princípio garante que C tem um elemento mínimo. Vamos chamar este mínimo de r. (Este mínimo corresponde exatamente ao resto que queremos). A- lém disso, pela definição de C, temos r = n qd, para algum valor inteiro q. Este inteiro q é o único que pode gerar r, por conta da equação linear envolvida. (Este q corresponde ao quociente que queremos). Rearrumando esta equação provamos uma parte do teorema: (i) n = qd + r, para certos q e r inteiros Agora, vamos provar a segunda parte. Já sabemos que r 0 (porque isso é verdade para todo elemento de C). Agora, vamos argumentar que r < d, por redução ao absurdo: Assumindo que r d. Vamos provar que, neste caso, existe um elemento de C menor do que r, que seria uma contradição. (Observe que vamos definir um certo r de modo compatível com a regra que define os elementos de C, mas usando k = q + 1). Seja r definido assim: r = n (q+1)d. Desenvolvendo, obtemos r = n qd d. Usando a definição de r, provamos que r = r d. Rearrumando a hipótese r d, obtemos r d 0. Usando a equação anterior, obtemos r 0. Logo r pertence a C. Além disso, como d é positivo, r d é menor que r. Logo r < r. Isso contradiz a escolha de r como mínimo de C. Com isso, provamos a segunda (e última) parte do teorema: (ii) 0 r < d (Provado). Observe que o teorema mostra como, a partir de um par (n, d) se define de forma única o par (q, r). É como se ele apresentasse a divisão como uma operação entre inteiros que 2

retorna dois resultados. Para se referir somente a um dos resultados da divisão por vez, vamos definir essas duas operações: n div d retorna o quociente inteiro (o q do teorema acima) n mod d retorna o resto inteiro positivo (o r to teorema acima) Com base nessas operações, podemos redefinir a equação do teorema como: n = d. (n div d) + (n mod d) Exemplos (todos com d=3): A divisão de n = 7 por d = 3 dá q = 2 e r = 1 o pois 7 = 3.2 + 1 e 0 r < 3 A divisão de n = 27 por d = 3 dá q = 9 e r = 0 o pois 27 = 3.9 + 0 e 0 r < 3 A divisão de n = 1 por d = 3 dá q = 0 e r = 1 o pois 1 = 3.0 + 1 e 0 r < 3 A divisão de n = 7 por d = 3 dá q = 3 e r = 2 o pois 7 = 3.( 3) + 2 e 0 r < 3 Veja que o algoritmo de divisão exige que o resto seja sempre não-negativo. Por isso, quando o dividendo é negativo (como no último exemplo), o quociente não é aquele que estamos acostumados a usar na divisão de inteiros ele é uma unidade a menos. Por exemplo, na divisão que tipicamente usamos, 7 dividido por 3 daria quociente 2 com resto 1. Porém, no quarto exemplo, o quociente (q) ficou com uma unidade a menos (e o resto você pode calcular a partir de n, d e q). Estejam atentos a este detalhe! A seguir, veremos uma aplicação interessante do teorema algoritmo na divisão (que não é um algoritmo!), para provar a corretude de um algoritmo genuíno. 3

2. Algoritmo de Euclides O algoritmo de Euclides para calcular o mdc de dois números recebe seu nome de um importante matemático da Grécia antiga. Antes de apresentarmos o algoritmo propriamente dito, vamos mostrar e provar o teorema que está por trás deste algoritmo: Teorema: Se a e b são naturais e b 0, então mdc(a,b) = mdc(b, a mod b). Demonstração: Segue um esboço da idéia: Para simplificar a notação, seja r = a mod b. Como r corresponde ao resto da divisão de a por b, pelo algoritmo da divisão podemos escrever: a = b.q + r (para algum q inteiro). Logo, temos a equação I abaixo: r = a q.b Agora, a idéia central da demonstração consiste em provar que: o Todo divisor comum de a e b é divisor de b e de r. Ou seja, você prova que se x a e x b, então x b e x r. o E que todo divisor comum de b e r é também divisor de a e de b. Ou seja, você prova que se x b e x r, então x a e x b. Provando essas duas partes (tente fazer sozinho!), você garante que o par (a,b) tem os mesmos divisores comuns que o par (b,r). Logo, o máximo dos divisores comuns de (a,b) é o mesmo máximo dos divisores comuns de (b,r)! Assim, estará provado o teorema. O teorema acima nos permite reduzir o cálculo do mdc(a, b) ao cálculo do mdc entre dois valores (em geral) menores: mdc(b, a mod b). Podemos repetir essa redução sucessivamente até não ser mais possível. Essa é a idéia simples por trás do algoritmo de Euclides. Exemplificamos a seguir. Exemplo: Calcular mdc(414, 662): Esse mdc pode ser calculado assim: mdc(414, 662) = mdc(662, 414 mod 662) 4

Que equivale a calcular sucessivamente: = mdc(662, 414) = mdc(414, 662 mod 414) = mdc(414, 248)= mdc(248, 414 mod 248) = mdc(248, 166) = mdc(166, 248 mod 166) = mdc(166, 82)= mdc(82, 166 mod 82) = mdc(82, 2) = mdc(2, 82 mod 2) = mdc(2, 0) Como todo inteiro é divisor de 0, maior divisor comum entre 2 e 0 é o próprio 2: = 2 De modo geral, temos: para todo a inteiro positivo, mdc(a,0) = a. Essa é a informação que faltava para completarmos um algoritmos para calcular o mdc o algoritmo de Euclides. A seguir, damos uma implementação recursiva dele em Python. (Fica como exercício fazer uma implementação iterativa). def mdc(a, b): if (b == 0): return a else: return mdc(b, a % b) O algoritmo de Euclides é mais eficiente (mais rápido) computacionalmente e mais fácil de implementar do que a idéia que vimos na aula passada, baseada na fatoração de a e b em fatores primos. Agora que já sabemos calcular o mdc eficientemente, como poderíamos calcular o mmc eficientemente? Para isso, veja o último teorema da aula passada! 5

3. Aritmética Modular Observe que, pelo lema da divisão, o resto da divisão de um número qualquer por um valor m só pode dar m valores distintos: de 0 a m-1. Assim, obviamente, dois números inteiros diferentes, quando divididos por um mesmo m, podem dar um mesmo resto. A aritmética modular surge da idéia de relacionar os números que dão o mesmo resto ao serem divididos por um dado valor m. Esta relação é chamada de relação de congruência módulo m e sua definição é dada abaixo (porém sem mencionar resto da divisão): Usamos a notação a b (mod m) sse tivermos que 2 m > 0 e m (a b). Dizemos que a é congruente a b, módulo m, neste caso Não provaremos, mas a definição dada acima equivale à seguinte definição, que mostra claramente a ligação com o resto da divisão: a b (mod m) sse a mod m = b mod m No entanto, a definição original é, geralmente, a que deixa as demonstrações dos teoremas mais simples. Antes de provar teoremas, vamos exemplificar casos da relação dada. Exemplos: 3 0 (mod 3), pois 3 (3-0) (ou porque 3 mod 3 = 0 mod 3 = 0) 2 5 (mod 3), pois 3 (2-5) (ou porque 2 mod 3 = 5 mod 3 = 2) 29 8 (mod 3), pois 3 (29-8)... 11 1 (mod 2) 8 0 (mod 2) A seguir, damos alguns resultados (teoremas) bastante simples: a 0 (mod 2) é verdade sse a é par (a é múltiplo de 2) a 1 (mod 2) é verdade sse a é ímpar 2 A condição de que m > 0 pode ser relaxada, mas vamos trabalhar assim nesta disciplina. 6

a 0 (mod 3) é verdade sse a é múltiplo de 3 a 0 (mod 4) é verdade sse a é múltiplo de 4 3.1 Propriedades As relações de congruência têm várias propriedades análogas às propriedades da relação de igualdade (entre números inteiros). Seguem algumas dessas propriedades, válidas para todos a, b e c inteiros e para todo m inteiro positivo: o a a (mod m) [Reflexiva] o Se a b (mod m), então b a (mod m) [Simétrica] o Se a b (mod m) e b c (mod m), então a c (mod m) [Transitiva] o Se a b (mod m), então a+c b+c (mod m) o Se a b (mod m), então ac bc (mod m) Todas estas propriedades podem ser provadas a partir da definição da relação. Como exemplo, vamos provar a penúltima propriedade dada. Exemplo: Provar o seguinte teorema (para todos a, b e c Z e m Z + ): Se a b (mod m), então a+c b+c (mod m) Prova direta. Sejam a, b e c inteiros quaisquer. Vamos, ainda, assumir que a b (mod m). Usando a definição da relação de congruência módulo m, temos que: m (a-b) Agora, pela definição da relação divide, isso nos leva a: k. m = a - b (para algum k inteiro) Desenvolvendo a equação, temos: a = b + k. m Calculando a+c com a equação acima, temos: a + c = b + k.m + c (a+c) = (b+c) + k.m (a+c) (b+c) = k.m Pela definição da relação divide temos que: m ((a+c) (b+c)) Assim, pela definição da relação de congruência modulo m, concluímos que: (a+c) (b+c) (mod m) (Provado). 7

3.2 Outras Propriedades Diferentemente da igualdade, o cancelamento de um inteiro c nem sempre é possível nas relações de congruência. Ou seja, a afirmação a seguir é falsa: Se ac bc (mod m), então a b (mod m) Um contra-exemplo para a afirmação acima é a=4, b=3, c=2 e m=2. Pois temos que 4.2 3.2 (mod 2), porém não é verdade que 4 3 (mod 2). A regra de cancelamento correta para a relação de congruência é dada abaixo. Na lista de exercícios, há uma questão que pede para você prová-la. Se ac bc (mod m) e mdc(c,m)=1, então a b (mod m) Outras propriedades que se aplicam às relações de congruência não têm análogas na igualdade. Seguem algumas: a a mod m (mod m) a.c (a mod m).(c mod m) (mod m) a+c (a mod m)+(c mod m) (mod m) Juntas, as propriedades apresentadas nos garantem que podemos fazer substituições usando relações de congruência (tal como fazemos na igualdade), desde que seja em expressões envolvendo apenas adição e multiplicação. Veja o próximo exemplo. Exemplo: Provar que Se a x+y (mod 2), então a 2 x 2 +y 2 (mod 2). Prova direta. Hipótese: a x+y (mod 2) Objetivo: a 2 x 2 +y 2 (mod 2) Vamos começar desenvolvendo uma relação de congruência módulo 2 para a 2 (vamos omitir o mod 2, para deixar mais limpo): a 2 a.a Usando a hipótese, podemos substituir o valor de a por (x+y). (x+y).(x+y) 8

x 2 + 2xy + y 2 Porém, no módulo 2, temos 2 0, logo: x 2 + 0.xy + y 2 x 2 + y 2 (Provado). Um uso interessante da aritmética modular consiste em transformar uma equação a = b em uma relação de congruência a b (mod m) para um m de sua escolha. Isso pode ajudar a simplificar algumas demonstrações matemáticas, como no exemplo a seguir. Exemplo: Prove que se a soma de n números inteiros dá par, então existe uma quantidade par de números ímpares nesta soma. Esboço gera (se der, veremos em sala...), assumindo que há x números inteiros e y números ímpares. Escrever essa soma, agrupando os x pares e os y ímpares, e igualando tudo a 2k, para algum k inteiro. Tirar o módulo de tudo, o que zera todo o grupo dos pares, e torna 1 cada número ímpar (cuja soma dá y). Isso tudo, é congruente a 2k que é congruente a 0. Assim, ficamos com y congruente a 0. A aritmética modular é uma área bastante rica da Matemática. Além disso, ela tem ligação com alguns algoritmos importantes da Computação, em especial o algoritmo RSA, que é um dos mais importantes usados para manter de segurança de dados que trafegam na internet. Veja um pouco mais sobre essas aplicações no material extra. Veja mais de teoria e aplicações no livro do Rosen. 4. Representação de Inteiros em Diferentes Bases (Extra) Como você deve saber, no dia-a-dia, usamos uma representação dos números chamada de representação decimal, pois usamos dez símbolos (0,1,2,...,9) para representar qualquer número inteiro. Nesta notação, a posição do dígito interfere na grandeza que ele representa. Por exemplo, em um número como 74.942, cada dígito representa o seguinte: o o dígito 7 representa 70.000 (ou 7x10 4 ) 9

o o primeiro 4 representa 4.000 (ou 4x10 3 ) o o 9 representa 900 (ou 9x10 2 ) o o segundo 4 representa 40 (ou 4x10 1 ) o o 2 representa, de fato, 2 unidades (ou 2x10 0 ) Em outras palavras, 74.942 pode ser expresso como a seguinte soma de potências de 10: 7.10 4 + 4.10 3 + 9.10 2 + 4.10 1 + 2.10 0 Por outro lado, os computadores usam, internamente, uma representação binária dos números, apenas com os símbolos 0 e 1. (Um detalhe é que a linguagem de programação faz automaticamente a conversão para a base decimal antes de exibir). Analogamente ao que acontece na base decimal, o valor representado por cada dígito binário depende da sua posição na representação do número. Assim um número binário como 1001011 representa a seguinte soma de potências de 2: 1.2 6 + 0.2 5 + 0.2 4 + 1.2 3 + 0.2 2 + 1.2 1 + 1.2 0 (em decimal, este seria o número 75) Generalizando os princípios usados nas duas representações citadas, será que com uma base inteira positiva b qualquer podemos representar todos os números nela? O teorema a seguir esclarece esta questão. Teorema: Considere b (a base) como um número inteiro maior que 1. Então, se n for um inteiro positivo, ele pode ser expresso como uma única soma da forma: n = D k.b k + D k-1.b k-1 + D k-2.b k-2 +... + D 1.b 1 + D 0 onde: para cada (dígito) D i (onde i é um índice de 0 a k), temos: 0 D i < b e (para o dígito mais à esquerda) temos: D k 0 Em outra palavra, o teorema diz que todo número inteiro positivo n pode ser representado em uma base b qualquer maior que 1. No caso, a representação na base b do número é simplesmente a seqüência dos valores D i (ou de certos símbolos que representem esses valores). No caso geral, para bases diferentes de 10, podemos usar a seguinte notação deixando explícita a base b adotada: 10

n = (D k D k-1 D k-2... D 1 D 0 ) b Exemplos: (4253) 7 = 4.7 3 + 2.7 2 + 5.7 1 + 3.7 0 = 1372 + 98 + 35 + 3 = 1508 (1021) 4 = 1.4 3 + 0.4 2 + 2.4 1 + 1.4 0 = 64 + 0 + 8 + 1 = 73 (1021) 3 = 1.3 3 + 0.3 2 + 2.3 1 + 1.3 0 = 27 + 0 + 6 + 1 = 34 Demonstração: A demonstração do teorema usa o algoritmo da divisão, mas não vamos dá-la em detalhes. A idéia geral da prova consiste em considerar a divisão de n por b, depois pegar o quociente e dividir por b, depois pegar o novo quociente e dividir por b, e assim sucessivamente, até que dê um quociente 0. Os restos dessas divisões sucessivas, na ordem inversa (do último para o primeiro) formarão exatamente os valores D i (ou seja, os dígitos da representação na base b). A demonstração do teorema nos permite deduzir um método (um algoritmo) para converter um número n qualquer para uma base b qualquer: Dividir n por b, guardar o resto. Depois, tomar o quociente da divisão anterior e dividir por b novamente, guardando o novo resto. Repetir essas divisões por b sucessivamente guardando os restos. Parar quando o quociente der 0. Retornar os valores na ordem invertida. Desafio: Tente implementar este algoritmo! Uma sugestão: guarde os restos da divisão em uma lista e a inverta no final. Esta será a representação do número na base b. A partir da representação em uma base b qualquer, podemos definir algoritmos para realizar adição e multiplicação similares aos algoritmos que aprendemos no ensino básico para a base 10: Somar dígito a dígito da direita para a esquerda Se a soma dos dígitos ultrapassar o limite da base, você transporta o excesso para a soma do próximo digito (o chamado vai o um ) 11

Por exemplo, se usarmos a representação na base binária, ao somar cada dígito, funciona assim: 0+0 dá 0 e não transporta nada 0+1 ou 1+0 dá 1 e não transporta nada 1+1 dá 0 e transporta 1 Desafio: Tente implementar (em qualquer linguagem, mas recomendo Python) a soma de dois números quaisquer em uma base b qualquer! Já não há condenação para quem está em Cristo Jesus. (Romanos 8:1) 12