본문 바로가기
Programming/Python

[ Python ] 백준 2588번 곱셈 풀이

by 코뮤(commu) 2020. 12. 27.
728x90
반응형

www.acmicpc.net/problem/2588

 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net

 

 

 

 

 

 

 

 

문제는 이러합니다.

 

 

편의상 첫번째 입력되는 수를 a라 하고, 두번째 입력되는 수를 b 라고 칭하겠습니다.

 

(3), (4), (5), (6) 번에 들어갈 수를 생각해봅시다.

 

(3)번의 경우, b의 일의 자리 숫자와 a가 곱해진 수입니다.

(4)번의 경우, b의 십의 자리 숫자와 a가 곱해진 수입니다.

(5)번의 경우, b의 백의 자리 숫자와 a가 곱해진 수입니다.

 

 

 

 

그렇다면 b의 일의 자리 수와 십의 자리 수, 백의 자리 수를 각각 구할 수 있어야겠네요.

 

b의 일의 자리 수는 b를 10으로 나눈 나머지값 입니다.

b의 십의 자리 수는 b를 100으로 나눈 나머지값에 일의 자리 수를 뺀 값을 10으로 나눈 값입니다.

b의 백의 자리 수는 b를 1000으로 나눈 나머지값에 일에서 십의 자리 수를 뺀 값을 100으로 나눈 값입니다.

백의 자리 수는 굳이 1000으로 나누지 않고, 바로 빼도 상관없습니다.

 

 

 

 

코드는 이러합니다.

 

 

 

 

 

 

[ Code ]

 

 

 

a=int(input())
b=int(input())
print(a*(b%10))
print(int(a*(((b%100)-(b%10))/10)))
print(int(a*((b-(b%100))/100)))
print(a*b)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형