페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#1577

거듭 제곱 구하기 1s 64MB

문제

컴퓨터는 복잡한 계속을 빠르고 쉽게 해결해 준다.

그런데 숫자가 매우 커지면 문제가 발생한다.

예를 들어 여러분이 만약 프로그램에서 Visual C++을 사용한다면 int 형 변수는 10자리 이상을 표현하지 못한다.

다른 프로그램 언어도 마찬가지로 자료형마다 표현 할 수 있는 최대 크기가 정해져 있다.

그렇다면 10자리 이상 혹은 매우 긴 자리 이상의 계산은 어떻게 할 수 있을까.

예를 들어 큰 수의 사칙연산, 거듭 제곱 혹은 다른 기타 연산을 할 경우 다른 해결 방법을 찾아야 한다.

 

다음 예를 보자 24의 81 제곱은

6,267,734,313,577,584,256,357,641,581,093,817,726,955,040,966,208,349,116,831,647,822, 507,211,168,810,373,395,608,151,952,729,507,634,763,502,977,024

라는 어마 어마한 숫자이다.

제곱하는 두 숫자가 주어지면 계산결과의 끝 3자리를 출력하는 프로그램을 작성하시오.


입력

입력 파일의 첫째 줄에 두 숫자가 주어진다. 예를 들어 20 80이 주어지면 20의 80 제곱을 나 타내는 것이다. 단 첫 번째 숫자는 10,000이하의 두 번째 숫자는 100,000,000(1억) 이하의 숫자가 주어진다.


출력

출력 파일의 첫째 줄에 결과값의 끝 3자리를 출력한다.


예제 #1

24

81
024

예제 #2

1054

24571
904

출처

초등 정보올림피아드 알고리즘 자료집
로그인해야 코드를 작성할 수 있어요.