* r = num1을 num2로 나눈 나머지 = num1 % num2
* GCD(num1, num2) = GCD(num2, r)
* 위와 같은 과정을 r = 0이 될 때까지 반복하면 그 때의 num2가 최대공약수가 된다.
// 재귀함수를 이용한 유클리드 호제법(Euclidean altorithm)
public int gcd(int num1, int num2){
if (num2 == 0) {
return num1;
} else {
return gcd(num2, num1 % num2);
}
}
* lcm = gcd * (num1/gcd) * (num2/gcd)
* 간단히, lcm = num1 * num2 / gcd
* 'null': 0
* 'space': 32
* '0': 48
* '9': 57
* 'A': 65
* 'a': 97
* 'delete': 127
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int proposition = scanner.nextInt(); // 바꾸려는 진법
// [방법1] 10진수 -> B진수의 변환
String result = Integer.toString(num, proposition);
System.out.println(result.toUpperCase());
// [방법2] 2, 8, 16진수로의 변환
String res2 = Integer.toBinaryString(num); // 10진수 -> 2진수
String res8= Integer.toOctalString(num); // 10진수 -> 8진수
String res16 = Integer.toHexString(num); // 10진수 -> 16진수
Scanner scanner = new Scanner(System.in);
String num = scanner.next();
int proposition = scanner.nextInt(); // 해당 숫자의 진수
// B진수 -> 10진수의 변환
int result = Integer.parseInt(num, proposition); // B진수 -> 10진수
System.out.println(result)