B2089
개요
백준 문제 B2089번을 풀면서 어려웠던 점과 코드를 정리한다.
소요 시간 : ?
https://www.acmicpc.net/problem/2089
문제
-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진수를 출력하는 프로그램을 작성하시오.
코드
1 | #include <iostream> |
풀이
-2진법 =
-2로 나눠서 나머지가 0이다 == 1 출력
나머지가 0이 아니다 == 0 출력
값 /= -2;
하지만 나머지가 정확히 정수가 아닌 경우에 몫이 제대로 출력안됨
따라서 (값-1) /= -2해줌
배울 점, 메모
오랫동안 풀이 방법을 생각하지 못한문제..
너무 머리나 시간을 안쓸려고하는게 아닐까