본문 바로가기
코드업(CodeUp) 풀이/Python 기초 100제

[코드업 Python 기초 100제] - 6081. 16진수 구구단 출력하기

by finalassis 2022. 1. 26.

문제 설명

16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운
영일이는 16진수끼리 곱하는 16진수 구구단?에 대해서 궁금해졌다.

A, B, C, D, E, F 중 하나가 입력될 때,
1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자.
(단, A ~ F 까지만 입력된다.)

입력

16진수로 한 자리 수가 입력된다.
단, A ~ F 까지만 입력된다.

출력

입력된 16진수에 1~F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력한다.
계산 결과도 16진수로 출력해야 한다.

입력 예시

B

출력 예시

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

My code

a = int(input(),16)

for i in range(1,16):
    print('%X'%a,'*','%X'%i,'=','%X'%(a*i),sep='')

Answer

n = int(input(), 16)

for i in range(1, 16) :
  print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')
  
또는

print("%X*%X=%X"%(n,i,n*i))

Code Review

int(input(),16) 을 이용하여 16진수로 한 자리 수가 입력 되도록 해주었습니다. for 문을 이용하여 1부터 15까지 반복되도록 해주었습니다. 입력한 16진수 정수에 1 부터 하나씩 값을 증가시켜가며 곱해주었습니다. 그 결과를 '%X'를 이용하여 16진수로 결과가 출력될 수 있도록 해주었습니다. 또한 sep='' 를 이용하여 공백 없이 출력되도록 해주었습니다.
모범 답안의 두 번째 답안처럼 작성할 수도 있습니다.

댓글