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
#include <cstdio>
void go(int n) {
if(n==0) {
return;
}
if (n%2 == 0) {
go(-(n/2));
printf("0");
} else {
if (n > 0) {
go(-(n/2));
} else {
go((-n+1)/2);
}
printf("1");
}
}
int main(){
int n;
scanf("%d\n",&n);
if(n==0) {
printf("0\n");
} else {
go(n);
}
return 0;
}
'Problem set' 카테고리의 다른 글
[백준] 2588: 곱셈 (0) | 2020.12.29 |
---|---|
[백준] 2557: 숫자의 개수 (0) | 2020.12.29 |
[백준] 1978: 소수 찾기 (0) | 2020.12.29 |
[백준] 1934: 최소공배수 (0) | 2020.12.29 |
[백준] 1929: 소수 구하기 (0) | 2020.12.29 |