https://www.acmicpc.net/problem/2089
a = int(input())
x = ''
if a == 0:
print(0)
exit()
while a:
if a%(-2):
a = a//-2 +1
x = '1'+x
else :
a//=-2
x = '0' + x
print(int(x))
만약 입력받은 a를 -2로 나눴을 때 몫이 존재하면 x에 1을 추가,
존재하지 않으면 0을 추가하고 계속해서 -2로 나눠서 계산한다.
a = 0 일때 0출력을 안찍어주면 틀린 판정이다.
0일 때도 항상 입력해줘야함 !
'백준 문제풀이 > 수학' 카테고리의 다른 글
[백준] 1929 소수구하기 - python (0) | 2022.11.15 |
---|---|
[백준] 1978 소수찾기 - python (0) | 2022.11.14 |
[백준] 1373 / 1212 2진수 8진수 - python (0) | 2022.11.11 |
[백준] 2745 진법 변환 - python (0) | 2022.11.11 |
[백준] 11005 진법 변환2 -phyton (0) | 2022.11.10 |