Respostas dos puzzles 2025
1) 2025 é um quadrado perfeito, ou seja, 2025 = x², para um valor inteiro positivo de x. Qual o valor de x?
2) 2025 pode ser obtido pela soma de dois quadrados, ou seja, 2025 = a² + b². Quais os valores de a e b, inteiros não negativos e diferentes entre si, que satisfazem a equação?
3) 2025 divide ou não 82⁴ — 1?
Bônus. Existem infinitos números da forma 20025, 200025, 2000025, 20000…25, divisíveis por 2025?
Respostas:
As três primeiras são diretas, então seguem as respostas.
1) 2025 = 45²
2) 2025 = 27² + 36 ^2
3) Sim. No Python, faça (82**4–1)/2025, para visualizar o resultado
Bônus: Sim, existem infinitos números da forma 20025, 200025, 2000025, 20000…25, divisíveis por 2025.
Prova longa:
Vamos iniciar fazer algumas contas, para verificar se encontramos algum logo de início.
Um código como o seguinte gera números no formato 20…25:
for i in range(1,10): numero = int('2' + i*'0' + '25') print(numero)
Adaptando o código para fazer a divisão, temos:
for i in range(1,15): numero = int('2' + i*'0' + '25') valorDividido = numero/2025 print(i, " ", valorDividido)
Aqui, nota-se que para i = 10 dá uma divisão exata. E parece haver um padrão.
Para valores maiores, fica difícil fazer essa conta, porque esbarra em problemas numéricos.
Exemplo, o valor calculado para números grandes resulta em zero, mas não é.
for i in range(1,30): numero = int('2' + i*'0' + '25') valorDividido = numero/2025 print(i, " ", valorDividido - int(valorDividido))
Sempre vai chegar uma hora que o computador não aguenta, e temos que partir para a teoria.
Bom, temos um bom indício de que há infinitos valores que seguem o padrão e são divisíveis por 2025. Como provar?
Vamos decompor 2025 nos fatores primos. 2025 = 81*25 = 3⁴ * 5².
Aqui dá para usar umas regrinhas de bolso de divisibilidade.
Como 20000…25 termina em 25, é divisível por 25, então nem vamos nos preocupar com este fator.
O outro fator, 81, é igual a 9×9.
Isso lembra outra regra de bolso. Se a soma dos dígitos de um número na base decimal é divisível por 9, o número é divisível por 9.
Exemplo: para analisar 2025, somamos 2+0+2+5 = 9 e é divisível por 9.
Todos os números da forma 20000…25 têm soma de dígitos igual a 9, portanto são divisíveis por 9.
Mas queremos testar divisibilidade por 81, que é igual a 9×9.
Então, vamos dividir primeiro por 9, e aplicar a regra da soma no resultado.
2025 / 9 = 225
20025 / 9 = 2225
200025 / 9 = 22225
2000025 / 9 = 222225
Temos claramente um padrão, o que dá para notar quando fazemos a conta “no braço”: multiplicamos 9 por 2, dando 18, e quando tiramos de 20, sobra 2, e recomeça o ciclo.
Aplicando a regra da soma dos dígitos:
Soma dígitos (225) = 9
Soma dígitos (2225) = 11
Soma dígitos (22225) = 13
Soma dígitos (222225) = 15
…
Ou seja, sempre vai somando 2 ao valor inicial 9. Portanto, chegará num momento em que a soma dará 27, 45, etc, todos múltiplos de 9. Na verdade, o padrão sempre se repetirá quando somarmos o 2, 9 vezes, ou seja, a cada 9 zeros a mais.
Podemos ilustrar isso para os primeiros padrões. Utilizando o pacote fractions, temos a fração exata.
from fractions import Fraction
for i in range(1,30): numero = int('2' + i*'0' + '25') valorDividido = Fraction(numero,2025) print(i, " ", valorDividido)
Portanto, temos infinitos números da forma 200…25 divisíveis por 2025, e o período de repetição é a cada 9 zeros adicionais.
Nota: dá para resolver por Teoria dos Números, mas como para este caso existe uma solução mais simples, vamos ficar com ela.
Originally published at http://ideiasesquecidas.com on January 3, 2025.