DevKim

[Python] 백준 #2089 -2진수 본문

알고리즘 PS

[Python] 백준 #2089 -2진수

on_doing 2021. 1. 14. 20:03
728x90

www.acmicpc.net/problem/2089

 

2089번: -2진수

-2진법은 부호 없는 2진수로 표현이 된다. 2진법에서는 20, 21, 22, 23이 표현 되지만 -2진법에서는 (-2)0 = 1, (-2)1 = -2, (-2)2 = 4, (-2)3 = -8을 표현한다. 10진수로 1부터 표현하자면 1, 110, 111, 100, 101, 11010, 110

www.acmicpc.net

0이 입력되는 경우를 조심할 것!!!!!!!!!!!!!!!

 

#0이 입렫되는 경우를 조심하기!!!!!!!

n=int(input())
k=n
L=0
k_1=0 #이전 k 값
result=[]

if n!=0:
    while True:

        if k==1:
            break

        if k%(-2) <0:
            k_1=k
            k=k//(-2)+1
            L=k_1-((-2)*k)
            result.append(L)

        else:
            k_1=k
            k=k//(-2)
            L=k_1-(k*(-2))
            result.append(L)


    result.append(1)

    result=reversed(result)

    print(''.join(map(str,result)))
else:
    print(0)
728x90
Comments