[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [obm-l] daria para criar um algoritmo???



On Mon, Apr 24, 2006 at 01:46:44AM +0000, vandermath@brturbo.com.br wrote:
> Um equipamento eletrônico consiste de um visor e de duas teclas A e B. Ao
> ligarmos o equipamento, aparece um zero no visor. Apertando-se a tecla A, o
> número que está no visor é aumentado de 1 unidade e apertando-se a tecla B, o
> número que está no visor é multiplicado por dois. Sejam x e y respectivamente
> as menores quantidades de vezes que devemos apertar as teclas A e B para
> obter o número 1994.  Qual é o valor da diferença (y – x)?  Se o número fosse
> muito grande, daria para fazer de um modo fácil???

Se você escrever tudo na base 2 o problema fica bem óbvio:
a tecla B acrescenta um 0 no final. Por exemplo, 1994 é 11111001010 na base 2.
Ele pode ser obtido assim:

  0
A 1
B 10
A 11
B 110
A 111
B 1110
A 1111
B 11110
A 11111
B 111110
B 1111100
B 11111000
A 11111001
B 111110010
B 1111100100
A 1111100101
B 11111001010

Assim, exceto pelo primeiro algarismo, para cada algarismo 0 apertamos B
e para cada algarismo 1 apertamos B+A.

[]s, N.
=========================================================================
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=========================================================================