Computer Science/Algorithm

BOJ 2089: -2진수

무니화니 2021. 12. 27. 23:13

그럴 때 다들 있지 않으신가요

문제가 간단해 보이는데, 그래서 막상 풀려고 하면 마땅히 해답이 떠오르지 않는 경우요..

생각보다 많으시다고요?

저도요.

ㅋ.

 

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

 

BOJ 2089: -2진수

 

바로 이 문제입니다!

간단한 듯이.... 어려운.... ㅋㅋㅋㅋㅋ....

그럴 수록 정공법을 써야죠.

문제의 '원리'를 파악하기!

 

 

제 풀이입니다. (다른 분들 블로그도 참고하긴 했지만..!)

문제 예시에서 -13이 주어졌습니다.

 

-13 -> -13 / (-2) = 7 * (-2) +1 -------------> 1

7 -> 7 / (-2) = -3 * (-2) +1 -----------------> 1

-3 -> -3 / (-2) = 2 * (-2) +1 ----------------> 1

2 -> 2 / (-2) = -1 * (-2) + 0 ----------------> 0

-1 -> -1 / (-2) = 1* (-2) +1 ------------------>1

1 -> 1 / (-2) = 0* (-2) +1 -------------------->1

 

111011을 뒤집어서 110111이 정답인 것이죠!!!! (모든 진법 계산이 다 이런 식으로 되니깐요.)

 

결국에는 존재 하지 않는 -2진법이여도, 그냥 원칙이 정답이구나 싶습니다.

'Computer Science > Algorithm' 카테고리의 다른 글

BOJ 1463: 1로 만들기  (0) 2021.12.30
BOJ 11576: Base Conversion  (0) 2021.12.28
BOJ 2004: 조합 0의 개수  (0) 2021.12.26
BOJ 6588: 골드바흐의 추측  (0) 2021.12.25
BOJ 2609: 최대공약수와 최대공배수  (0) 2021.12.25