GCD!
면접 대비시간 제한1초메모리 제한128 MB
각 줄의 n과 k에 대해 gcd(n!, k)를 구한다. n이 10억까지 커질 수 있어 n!을 직접 계산할 수 없고, k의 어떤 소인수가 결과에 남는지 따져야 한다.
문제
두 자연수의 최대공약수(GCD)는 두 수를 모두 나머지 없이 나누는 가장 큰 자연수이다. 예를 들어 과 의 최대공약수는 이다. 가 과 를 동시에 나누는 가장 큰 정수이기 때문이다. (과 의 공약수는 이다.)
자연수의 팩토리얼은 그 수 이하의 모든 양의 정수를 곱한 값이다. 예를 들어 의 팩토리얼은 이다. (단, 로 정의한다.)
두 수 과 가 주어질 때, 과 의 최대공약수를 구하는 프로그램을 작성하시오. 예를 들어 , 이면 이다.
입력
입력은 여러 줄로 이루어진다. 각 줄에는 두 정수 과 가 공백으로 구분되어 하나씩 주어지며, 입력은 파일의 끝까지 계속된다. (, )
출력
입력의 각 줄에 대해 과 의 최대공약수를 한 줄에 하나씩 출력한다.