segunda-feira, 14 de julho de 2014

Herança em perigo

Aos domingos, gosto de olhar para os desafios do Público, de José Paulo Viana e Cristina Sampaio.
Algumas vezes fico decepcionado, mas a maioria das vezes gosto de pensar no desafio, sempre com a ideia de comparar a minha solução com a que será publicada no domingo seguinte. É o caso de hoje:
"Pouco antes de morrer, o pai chamou o filho:
- Tenho aqui 111 moedas de ouro muito antigas. Aparentemente são iguais mas foram fabricadas em momentos diferentes e 50 delas pesam menos um grama que as outras 61. Todas elas serão tuas se conseguires resolver o problema que te vou pôr.
Pegou numa das moedas e continuou:
- Tens de descobrir se esta moeda é uma das leves ou uma das pesadas. Para isso, tens direito a fazer uma única pesagem usando esta balança de dois pratos e estes pesos de 1, 2, 4, 8, 16 e 32 gramas para equilibrar os pratos.
Como deverá proceder o filho para ter a garantia absoluta que herdará as moedas?"
Aqui está!


Curiosamente, ocorreu-me de imediato a ideia de dividir as outras 110 moedas em dois grupos de 55 e determinar a diferença de pesos. Mas será que nenhuma das diferenças de pesos excede 1+2+4+8+16+32=63 gramas? E que da diferença de pesos se pode retirar a conclusão pretendida?
Se a moeda que o pai pegou for das leves, as outras 110 são 49 leves e 61 pesadas, e se for das pesadas, as outras 110 são 50 leves e 60 pesadas, dois conjuntos diferentes.
E como se podem distribuir, nos dois casos, as 110 moedas em dois grupos de 55?
Se nos concentrarmos nas moedas pesadas apenas, no primeiro caso temos um total de 61, ficando necessariamente num dos pratos um número par de moedas e no outro um número ímpar, pelo que a diferença de pesos entre os dois pratos será ímpar, e no segundo caso temos um total de 60, ficando nos dois pratos simultaneamente ou um número par ou um número ímpar de moedas, pelo que a diferença de pesos entre os dois pratos será par.
Como a diferença máxima é de 55-6=49 no primeiro caso e de 55-5=50 no segundo, e com pesos com aqueles valores, todas as diferenças podem ser medidas (numeração binária), e os pesos são suficientes para pesarmos qualquer diferença possível.
E então, o que teremos de fazer será dividir as 110 moedas em dois grupos de 55 e determinar a diferença de pesos. Se a diferença for ímpar, a moeda retirada é das leves, e se for par é das pesadas.
Simples!

Sem comentários:

Enviar um comentário