[자바JAVA]1082 : [기초-종합] 16진수 구구단?

문제 1082 : [기초-종합] 16진수 구구단?

16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운 영일(01)이는 16진수끼리 곱하는 16진수 구구단?에 대해서 궁금해졌다.
A, B, C, D, E, F 중 하나가 입력될 때, 1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자.
(단, A 부터 F 까지만 입력된다.)

  • 입력예시
    16진수로 한 자리 수가 입력된다.(단, A 부터 F 까지만 입력된다.)
1
B
  • 출력예시
    입력된 16진수에 1부터 F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력한다.
    계산 결과도 16진수로 출력해야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
B*1=B
B*2=16
B*3=21
B*4=2C
B*5=37
B*6=42
B*7=4D
B*8=58
B*9=63
B*A=6E
B*B=79
B*C=84
B*D=8F
B*E=9A
B*F=A5




코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Scanner;

public class Main {

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

//String에서 16진수로 변경
int b = Integer.valueOf(input, 16);

//출력
String s, ans;
for (int i = 1; i < 16; i++) {
s = Integer.toHexString(i).toUpperCase();
ans = Integer.toHexString(b * i).toUpperCase();
System.out.println(input + "*" + s + "=" + ans);
}

}//end of main()
}




배운지식

10진수를 16진수로 변환하는 방법을 도식화해서 나타낸 것이다.

https://dojang.io/mod/page/view.php?id=743

16진수는 1부터 16까지이므로 for문의 조건은 F가 아니라 16으로 설정해야한다.




다른 문제 풀이가 보고싶다면?