소수의 주기
면접 대비시간 제한1초메모리 제한128 MB
b진법으로 주어진 분자 x와 분모 y에 대해 x/y를 b진법 소수로 나타냈을 때 순환마디의 길이를 구한다.
문제
계산기 없이 두 수의 나눗셈을 손으로 계산하는 연습을 하려고 한다. 이번 시험에는 진법으로 나타낸 두 수를 나눴을 때 그 몫의 주기의 길이를 구하는 문제가 나온다. 손으로 계산한 결과가 맞는지 확인해 주는 프로그램을 작성하자.
진법 , 분자 , 분모 가 주어진다. 와 는 모두 진법으로 나타낸 수이다. 진법 수 의 순환마디(주기)의 길이를 구하는 프로그램을 작성하시오. 유리수 를 진법으로 나타내는 방법은 다음과 같다.
예를 들어 보자.
위의 처음 두 예는 유한소수이므로 주기의 길이는 이다. 첫 번째 예를 주기의 길이가 인 으로 나타낼 수도 있지만, 이 문제에서는 그런 표현은 고려하지 않는다. 세 번째 예의 주기의 길이는 이다.
입력
첫째 줄에 테스트 케이스의 수가 주어진다. 각 테스트 케이스는 한 줄로 이루어지며, 진법 , 분자 , 분모 가 공백으로 구분되어 주어진다. (, )
는 10진법으로 주어지고, 와 는 진법으로 주어진다. 부터 까지의 숫자로 나타낼 수 없는 자리는 a(또는 A)부터 시작하는 알파벳으로 나타내며, 대소문자는 구별하지 않는다.
출력
각 테스트 케이스마다 Scenario #i:를 출력한 뒤, 다음 줄에 주기의 길이를 출력한다. (는 테스트 케이스 번호로 부터 시작한다.) 각 테스트 케이스 사이에는 빈 줄을 하나 출력한다.