11005번: 진법 변환 2
10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를
www.acmicpc.net
10진법 N을 B진법으로 바꾸려면 N이 0이 될 때까지 나머지 계속 구하여 저장한 후 거꾸로 출력하면 된다.
//1
import java.util.*;
public class Main {
public static StringBuilder change(int n, int b) {
StringBuilder sb = new StringBuilder();
while(n>0) {
if(n%b < 10) {
sb.append(n%b);
}else {
sb.append((char)(n%b+55));
}
n /= b;
}
return sb.reverse();
}
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int b = sc.nextInt();
StringBuilder sb = change(n, b);
System.out.println(sb);
}
}
//2
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int b = sc.nextInt();
StringBuilder sb = new StringBuilder();
while (n > 0) {
int r = n % b;
if (r < 10) {
sb.append((char)(r + '0'));
} else {
sb.append((char)(r - 10 + 'A'));
}
n /= b;
}
System.out.println(sb.reverse());
}
}

'Coding Test > Baekjoon - Java' 카테고리의 다른 글
| 1373: 2진수 8진수 (0) | 2021.02.15 |
|---|---|
| 2745: 진법 변환 (0) | 2021.02.15 |
| 9613: GCD합 (0) | 2021.02.15 |
| 1850: 최대공약수 (0) | 2021.02.15 |
| 1934: 최소공배수 (0) | 2021.02.15 |