[백준 2089]파이썬--2진수
2022. 4. 22. 16:41ㆍ[알고리즘]백준-파이썬
https://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
문제
-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, 11011, 11000, 11001 등이다.
10진법의 수를 입력 받아서 -2진수를 출력하는 프로그램을 작성하시오.
입력
첫 줄에 10진법으로 표현된 수 N이 주어진다.
출력
-2진법 수를 출력한다.
제한
- -2,000,000,000 ≤ N ≤ 2,000,000,000
import sys
input=sys.stdin.readline
n=int(input())
if not n:
print(0)
exit()
ans=""
while n:
if n%(-2)!=0:
ans="1"+ans
n=n//(-2)+1
else:
ans="0"+ans
n=n//-2
print(ans)
'[알고리즘]백준-파이썬' 카테고리의 다른 글
[백준10157]파이썬-자리배정 (0) | 2022.04.22 |
---|---|
[백준 2579]파이썬-계단오르기 (0) | 2022.04.22 |
[백준 1193]파이썬- 분수 (0) | 2022.04.19 |
[백준 1697]파이썬-숨바꼭질 (0) | 2022.04.19 |
[백준7576]파이썬-토마토 (0) | 2022.04.18 |