푸앙이와 종윤이
면접 대비시간 제한1초메모리 제한1024 MB
두 두 자리 수를 입력받아 베딕 곱셈법으로 곱을 구하고, 중간값 a, b, c, d, q, r과 곱의 앞뒤 두 자리를 출력합니다.
문제
푸앙이의 친구 종윤이는 수학과 과학이 크게 발달한 나라 중 하나인 인도에 깊은 관심이 있다. 한국에서는 구구단을 배우지만 인도에서는 19단까지 배운다고 한다. 두 자릿수 곱셈을 어떻게 빠르게 암산하는 것일까? 푸앙이는 인도 마니아인 종윤이에게 인도의 베다수학 곱셈법을 배우기로 했다.

<인도 베다수학 곱셈법 예시 그림>
을 계산해 보자. 각 수를 에서 뺀 값을 , 라고 하면 \begin{align}a=100-97=3\\b=100-96=4\end{align} 그리고 , 를 다음과 같이 정의하고 구한다. \begin{align}c&=100-(a+b)=100-7=93\\d&=a×b=3×4=12\end{align} 는 곱셈 결괏값의 앞의 두 자릿수, 는 뒤의 두 자릿수에 해당한다.
, 가 작을 때는 위와 같은 계산으로 끝난다. 그렇지 않은 경우도 있다. 가 두 자릿수를 넘으면 하위 두 자릿수만 취하고, 초과한 자릿수의 값은 에 더한다. 즉, 를 으로 나눈 몫과 나머지를 각각 , 이라고 할 때 를 앞의 두 자릿수, 을 뒤의 두 자릿수로 정한다.
푸앙이도 인도에 흥미가 생겼지만 수학은 머리가 아프다. 푸앙이를 위해 두 수가 입력되면 인도의 베다수학 곱셈법을 자동으로 계산하는 프로그램을 만들자.
입력
한 줄에 양의 정수가 개 주어진다. 이 정수들은 이상 미만의 두 자릿수다.
출력
베다수학 곱셈법을 쓰는 과정에서 구하는 , , , , , 을 첫 줄에 공백으로 구분해서 출력한다. 둘째 줄에는 곱셈 결과의 앞의 두 자릿수와 뒤의 두 자릿수를 공백으로 구분해서 출력한다. 이 수들의 십의 자리가 이라면 일의 자리만 출력한다.