만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

유클리드 알고리즘

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

요약
양의 정수 d와 k가 주어질 때, 모든 양의 정수 a에 대해 (a+d)^k - a^k를 나누는 가장 큰 정수를 구한다.
난이도

어려움10점 중 8점

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

문제

유클리드 알고리즘은 인류가 아는 가장 오래된 알고리즘 중 하나다. 두 수의 최대공약수를 구하는 데 쓴다. 당신의 프로그램도 두 수를 받아 최대공약수를 구해야 한다. 유클리드가 함께하기를.

두 양의 정수 d와 k가 주어진다. 모든 양의 정수 a에 대해 (a + d)k − ak를 나누는 가장 큰 정수를 구하라.

입력

한 줄에 두 정수 d와 k가 주어진다. (1 ≤ d, k < 10100)

출력

모든 양의 정수 a에 대해 (a + d)k − ak를 나누는 가장 큰 정수를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    2 2
    
    예상 출력
    4