먼저 A진법 수를 10진법으로 변환하고,
변환된 10진법 수를 B진법으로 변환한다.
import java.util.Scanner;
public class Main {
static int[] num;
static int A;
static int B;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
A = sc.nextInt();
B = sc.nextInt();
int m = sc.nextInt();
num = new int[m];
for (int i=m-1;i>=0;i--) { // 낮은 자리 수일수록 낮은 인덱스에 저장
num[i] = sc.nextInt();
}
toB(to10());
System.out.println();
}
/*
1. 먼저 A진법 수를 10진법으로 바꾼다.
2. 10진법으로 바뀐 수를 B진법으로 바꾼다.
*/
// A진법 10진법으로 바꾸는 메소드
public static int to10() {
int num10 = 0;
for (int i=0;i<num.length;i++) {
num10 += num[i]*(int)Math.pow(A, i); // 각 자리에 맞게 A^n값 곱해서 10진수로 바꿔줌
}
return num10; // 10진수로 바꾼 값 저장
}
// 10진법 B진법으로 바꾸는 메소드
public static void toB(int n) {
if (n == 0) return;
toB(n/B);
System.out.print(n%B + " ");
}
}
문제 출처 : www.acmicpc.net/problem/11576
'알고리즘 > 백준 알고리즘(JAVA)' 카테고리의 다른 글
Java)17103번 골드바흐 파티션 - 수학(소수, 골드바흐의 추측) (0) | 2020.09.03 |
---|---|
Java)2089번 -2진수 (0) | 2020.09.03 |
JAVA)1707번 이분 그래프 - DFS (0) | 2020.08.21 |
JAVA)11724번 연결 요소의 개수 - 그래프, DFS (0) | 2020.08.19 |
JAVA)DFS와 BFS - 그래프의 구현(인접 리스트), DFS, BFS (0) | 2020.08.19 |
알고리즘/백준 알고리즘(JAVA) 카테고리의 다른 글
Java)17103번 골드바흐 파티션 - 수학(소수, 골드바흐의 추측)
Java)2089번 -2진수
JAVA)1707번 이분 그래프 - DFS
JAVA)11724번 연결 요소의 개수 - 그래프, DFS