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

Re: [obm-l] Conversão de Números em Base Negativa



Olá Marcelo!

Foi de lá mesmo que eu tirei o problema. Tentarei gerar o algoritmo e caso dê certo irei colocar aqui com detalhes do funcionamento.

Qual o seu handle no TopCoder? O meu é black.phoenix

Abraços!

On 4/17/07, Marcelo Salhab Brogliato <msbrogli@gmail.com> wrote:
Olá Henrique,

isso foi questao de uma competicao de programacao do site TopCoder..
observe o seguinte:

12345 = 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0

onde temos expoente par, basta invertermos o sinal que nada mudará, e
onde o expoente for impar, o sinal mudara na expressao como um todo,
entao:

12345 = 1*(-10)^4 - 2*(-10)^3 + 3*(-10)^2 - 4*(-10)^1 + 5*(-10)^0

agora, basta somar e subtrair o termo da frente...
veja:
-2*(-10^3) + 10*(-10)^3 - 10*(-10)^3 = -2*(-10^3) + 10*(-10)^3 +
(-10)^4 = 8*(-10^3) + (-10)^4..
entendeu? faca isso e elimine os termos negativos.

assim vc obtem o numero 12345 (na base 10) escrito na base -10... o
mesmo procedimento segue para qualquer base...

bom, foi assim que resolvi a questao :)

haa para numeros negativos acontece algo semelhante.. com 1 pequena
mudanca.. verifique ai! eh soh seguir o mesmo procedimento

abraços,
Salhab




On 4/17/07, Henrique Rennó <henrique.renno@gmail.com> wrote:
> Olá!!!
>
> Seja n(b) um número n na base b. O número 12345(-10) = 1*(-10)^4 + 2*(-10)^3
> + 3*(-10)^2 + 4*(-10)^1 + 5*(-10)^0 = 10000 - 2000 + 300 - 40 + 5 =
> 8265(10).
>
> Qual seria o procedimento ou algoritmo para converter o número 8265(10) para
> a base -10 como 12345(-10)????
>
> Existe algum tipo de cuidado em conversões com base negativa??? Números
> negativos para base positivas???
>
> --
> Henrique

=========================================================================
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