체계적인 곱셈
시간 제한2초메모리 제한1024 MB
페아노 형식으로 주어진 두 자연수를 읽고 그 곱을 다시 페아노 형식으로 출력한다.
문제
컴퓨터가 너무 여러 번 다운되는 일을 겪은 Alonso는 형편없는 소프트웨어와 엉망으로 작성된 코드에 넌더리가 났다. 이 상황을 개선하려면 현대 프로그래밍이라는 유리집을 허물고 완전히 형식적인 공리적 추론만으로 처음부터 다시 세워야 한다고 그는 결심한다. 그 첫 단계 중 하나로, 그는 Peano 공리를 사용해 자연수의 산술을 구현하기로 한다.
Peano 공리(이탈리아 수학자 Giuseppe Peano의 이름을 딴)는 자연수의 산술적 성질을 공리적으로 형식화한 것이다. 기호는 상수 과 단항 계승 함수 두 가지다. 에서 시작하는 자연수는 , , , 등이다. 이 두 기호로 덧셈과 곱셈 연산을 다음 공리로 귀납적으로 정의한다. 임의의 자연수 와 에 대해 [ \begin{align*} x + 0 &= x & x \cdot 0 &= 0 \ x + S(y) &= S(x + y) & x \cdot S(y) &= x \cdot y + x \end{align*} ] 왼쪽 두 공리는 덧셈을, 오른쪽 두 공리는 곱셈을 정의한다.
예를 들어 , 이 주어지면 이 공리들을 반복 적용해 [ \begin{align*} x \cdot y &= S(S(0)) \cdot S(0) = S(S(0)) \cdot 0 + S(S(0))\ &= 0 + S(S(0)) = S(0 + S(0)) = S(S(0 + 0)) = S(S(0)) \end{align*} ] 를 유도할 수 있다. Peano 산술로 정의된 두 자연수 와 가 주어질 때 곱 를 계산하는 프로그램을 작성하라.
입력
입력은 두 줄로 이루어진다. 각 줄에는 Peano 산술로 정의된 자연수가 하나씩 있으며, 길이는 최대 자다.
출력
두 입력 수의 곱을 출력한다.