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

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

체계적인 곱셈

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

요약
페아노 형식으로 주어진 두 자연수를 읽고 그 곱을 다시 페아노 형식으로 출력한다.
난이도

쉬움10점 중 2점

유형
문자열, 수학, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

컴퓨터가 너무 여러 번 다운되는 일을 겪은 Alonso는 형편없는 소프트웨어와 엉망으로 작성된 코드에 넌더리가 났다. 이 상황을 개선하려면 현대 프로그래밍이라는 유리집을 허물고 완전히 형식적인 공리적 추론만으로 처음부터 다시 세워야 한다고 그는 결심한다. 그 첫 단계 중 하나로, 그는 Peano 공리를 사용해 자연수의 산술을 구현하기로 한다.

Peano 공리(이탈리아 수학자 Giuseppe Peano의 이름을 딴)는 자연수의 산술적 성질을 공리적으로 형식화한 것이다. 기호는 상수 00과 단항 계승 함수 SS 두 가지다. 00에서 시작하는 자연수는 00, S(0)S(0), S(S(0))S(S(0)), S(S(S(0))))S(S(S(0)))) 등이다. 이 두 기호로 덧셈과 곱셈 연산을 다음 공리로 귀납적으로 정의한다. 임의의 자연수 xx와 yy에 대해 [ \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*} ] 왼쪽 두 공리는 덧셈을, 오른쪽 두 공리는 곱셈을 정의한다.

예를 들어 x=S(S(0))x = S(S(0)), y=S(0)y = S(0)이 주어지면 이 공리들을 반복 적용해 [ \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 산술로 정의된 두 자연수 xx와 yy가 주어질 때 곱 x⋅yx \cdot y를 계산하는 프로그램을 작성하라.

입력

입력은 두 줄로 이루어진다. 각 줄에는 Peano 산술로 정의된 자연수가 하나씩 있으며, 길이는 최대 1 0001\,000자다.

출력

두 입력 수의 곱을 출력한다.

예제2

  1. 예제 1

    입력
    S(S(0))
    S(S(S(0)))
    
    예상 출력
    S(S(S(S(S(S(0))))))
    
  2. 예제 2

    입력
    S(S(S(S(S(0)))))
    0
    
    예상 출력
    0