문제 설명
어떤 1010진수 nn이 주어지면 22진수로 변환해서 출력하시오.
예)
10 -----> 1010
0 -----> 0
1 -----> 1
2 -----> 10
1024 -----> 10000000000
이 문제는 반복문을 이용하여 풀 수 없습니다.
금지 키워드 : for while goto
입력
1010진수 정수 nn이 입력된다.
(0<=n<=2,100,000,000)(0<=n<=2,100,000,000)
출력
22진수로 변환해서 출력한다.
입력 예시
7
출력 예시
111
#include <iostream>
using namespace std;
void binary(int k) {
if(k != 0) {
if(k % 2 == 0) { // k가 짝수일때
binary(k / 2);
cout << 0;
}
else if(k % 2 == 1) { // k가 홀수일때
binary(k / 2);
cout << 1;
}
}
}
int main() {
int k;
cin >> k;
if(!k) cout << 0 << endl; // k가 0일경우 0만 출력
else {
binary(k);
cout << endl;
}
}
'PS > CodeUp' 카테고리의 다른 글
CodeUp / Recursion(재귀) / 3702번 / 파스칼의 삼각형2 / C++ (0) | 2020.09.13 |
---|---|
CodeUp / Recursion(재귀) / 1930번 / SuperSum / C++ (0) | 2020.09.13 |
CodeUp / Recursion(재귀) / 1929번 / 우박수(3n+1) - reverse / C++ (0) | 2020.09.13 |
CodeUp / Recursion(재귀) / 1928번 / 우박수(3n + 1) - basic / C++ (0) | 2020.09.13 |