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

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

마지막 자리

면접 대비

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

요약
각 테스트 케이스에서 밑 b, 높이 i인 거듭제곱 탑의 마지막 n자리를 앞에 0을 채워 출력한다.
난이도

보통10점 중 6점

유형
정수론, 수학, 분할 정복, 재귀
정답자
아직 제출이 없습니다

문제

어떤 수를 거듭제곱하면 매우 큰 수를 얻을 수 있다.

정수 bb, nn, ii가 주어진다. 함수 ff는 다음과 같이 정의된다.

f(x)=bf(x−1)(x>0),f(0)=1f(x) = b^{f(x-1)} \quad (x > 0), \qquad f(0) = 1

즉 f(i)f(i)는 밑이 bb이고 높이가 ii인 거듭제곱 탑이다. 이때 f(i)f(i)의 마지막 nn자리를 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 세 줄로 이루어진다. 첫째 줄에는 bb (1≤b≤1001 \le b \le 100), 둘째 줄에는 ii (1≤i≤1001 \le i \le 100), 셋째 줄에는 nn (1≤n≤71 \le n \le 7)이 주어진다. 마지막 테스트 케이스 다음 줄에는 00이 하나 주어지며, 이는 입력의 끝을 의미한다.

출력

각 테스트 케이스에 대해 f(i)f(i)의 마지막 nn자리를 한 줄에 출력한다. 만약 f(i)f(i)가 nn자리보다 작으면, 앞에 00을 채워 정확히 nn자리로 맞추어 출력한다.

예제1

  1. 예제 1

    입력
    2
    4
    7
    10
    10
    6
    3
    10
    7
    0
    
    예상 출력
    0065536
    000000
    4195387