Math

4-1: 이진수로 변환

SWC123 2018. 10. 24. 20:13

binary (binary.cpp)

 

문제


숫자를 입력 받아 이진수로 출력하는 프로그램을 작성하시오.

 

입력


첫 번째 줄에 숫자를 입력 받는다. 숫자의 크기는 1,000보다 작거나 같다.

 

출력


첫째 줄에 숫자를 이진수로 바꾸어 출력한다.

 

예제 입력

14

예제 출력

1110

 

예제 입력

31

예제 출력

11111


import java.util.Scanner;

public class binary {

/**
*
* 문제: 숫자를 입력 받아 이진수로 출력하는 프로그램을 작성하시오.
*
* 입력
* 첫 번째 줄에 숫자를 입력 받는다. 숫자의 크기는 1,000보다 작거나 같다.
*
* 출력
* 첫째 줄에 숫자를 이진수로 바꾸어 출력한다.
*
* 예제 입력
* 14
*
* 예제 출력
* 1110
*
*
* @param args
*/

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

int n = sc.nextInt();
StringBuilder sb = new StringBuilder();

int divider = 2;

//find biggest power of divider less than n
int max = 1;
while (true){
if (n<max*divider) break;
max *=divider;
}

while (max != 0){
int digit = n / max;
System.out.print(digit +"");
n%=max;
max/=divider;
}

// System.out.println(sb);

}
}