Não entendi a generalização. Seja o exemplo -123456789(10) para base -7. A resposta é 3031330536(-7).
Seguindo a forma que você fez para a base -2 daria o mesmo resultado? Como resolver este exemplo? On 4/18/07, Ricardo Bittencourt <[EMAIL PROTECTED]> wrote:
Henrique Rennó wrote: > Olá Ricardo! > Por acaso você é o ricbitbr no TopCoder??? Sou eu sim, sempre que dá eu faço uns SRMs por lá. > Ainda estou em dúvida com relação a esse problema. Suponha a seguinte > conversão: > > 1001(10) = n(-2) > > ou seja, passar o número 1001 na base 10 para n na base -2. (resposta: > n = 10000111001) > > Qual seria o procedimento para efetuar essa conversão??? Converter de decimal pra binário você sabe né? Se for ímpar, subtrai 1 e divide por 2; se for par, divide por 2; repete até chegar em zero. Com base -2 é exatamente a mesma coisa, só que você divide por -2: 1001 (1) 1001-1=1000/-2=-500 -500 (0) -500/-2=250 250 (0) 250/-2=-125 -125 (1) -125-1=-126/-2=63 63 (1) 63-1=62/-2=-31 -31 (1) -31-1=-32/-2=16 16 (0) 16/-2=-8 -8 (0) -8/-2=4 4 (0) 4/-2=-2 -2 (0) -2/-2 =1 1 (1) 1-1 =0 Lendo os restos de trás para frente, 10000111001. Agora é só generalizar para outras bases (negativas ou complexas). -- Ricardo Bittencourt ========================================================================= 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 =========================================================================
-- Henrique