[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