아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

푸앙이와 종윤이

면접 대비

시간 제한1초메모리 제한1024 MB

요약
두 두 자리 수를 입력받아 베딕 곱셈법으로 곱을 구하고, 중간값 a, b, c, d, q, r과 곱의 앞뒤 두 자리를 출력합니다.
난이도

쉬움10점 중 2점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

푸앙이의 친구 종윤이는 수학과 과학이 크게 발달한 나라 중 하나인 인도에 깊은 관심이 있다. 한국에서는 구구단을 배우지만 인도에서는 19단까지 배운다고 한다. 두 자릿수 곱셈을 어떻게 빠르게 암산하는 것일까? 푸앙이는 인도 마니아인 종윤이에게 인도의 베다수학 곱셈법을 배우기로 했다.

인도 베다수학 곱셈법 예시 그림

<인도 베다수학 곱셈법 예시 그림>

97×9697×96을 계산해 보자. 각 수를 100100에서 뺀 값을 aa, bb라고 하면 \begin{align}a=100-97=3\\b=100-96=4\end{align} 그리고 cc, dd를 다음과 같이 정의하고 구한다. \begin{align}c&=100-(a+b)=100-7=93\\d&=a×b=3×4=12\end{align} cc는 곱셈 결괏값의 앞의 두 자릿수, dd는 뒤의 두 자릿수에 해당한다.

aa, bb가 작을 때는 위와 같은 계산으로 끝난다. 그렇지 않은 경우도 있다. dd가 두 자릿수를 넘으면 하위 두 자릿수만 취하고, 초과한 자릿수의 값은 cc에 더한다. 즉, dd를 100100으로 나눈 몫과 나머지를 각각 qq, rr이라고 할 때 c+qc+q를 앞의 두 자릿수, rr을 뒤의 두 자릿수로 정한다.

푸앙이도 인도에 흥미가 생겼지만 수학은 머리가 아프다. 푸앙이를 위해 두 수가 입력되면 인도의 베다수학 곱셈법을 자동으로 계산하는 프로그램을 만들자.

입력

한 줄에 양의 정수가 22개 주어진다. 이 정수들은 1010 이상 100100 미만의 두 자릿수다.

출력

베다수학 곱셈법을 쓰는 과정에서 구하는 aa, bb, cc, dd, qq, rr을 첫 줄에 공백으로 구분해서 출력한다. 둘째 줄에는 곱셈 결과의 앞의 두 자릿수와 뒤의 두 자릿수를 공백으로 구분해서 출력한다. 이 수들의 십의 자리가 00이라면 일의 자리만 출력한다.

예제3

  1. 예제 1

    입력
    97 96
    
    예상 출력
    3 4 93 12 0 12
    93 12
    
  2. 예제 2

    입력
    48 49
    
    예상 출력
    52 51 -3 2652 26 52
    23 52
    
  3. 예제 3

    입력
    19 32
    
    예상 출력
    81 68 -49 5508 55 8
    6 8