문제 설명
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='' 를 이용하여 공백 없이 출력되도록 해주었습니다.
모범 답안의 두 번째 답안처럼 작성할 수도 있습니다.
댓글