빙글빙글 돌아가는 순환수
시간 제한1초메모리 제한128 MB
주어진 수마다 1부터 자릿수까지의 곱이 모두 그 숫자의 회전인지 판정한다. 앞의 0도 자릿수로 센다.
문제
순환수(cyclic number) 란 자리 정수 중에서, 부터 까지의 모든 정수와 곱했을 때 그 결과가 원래 수의 자릿수들을 회전(rotation)시킨 형태가 되는 수를 말한다. 자릿수들을 원형으로 배열하여 마지막 자리 다음이 첫 자리로 이어진다고 생각하면, 각 곱셈 결과는 원래 수와 똑같은 자릿수들을 똑같은 원형 순서로 사용하며 다만 시작 위치만 다를 수 있다.
예를 들어 은 순환수이며, 다음 표가 이를 보여준다:
- 142857 × 1 = 142857
- 142857 × 2 = 285714
- 142857 × 3 = 428571
- 142857 × 4 = 571428
- 142857 × 5 = 714285
- 142857 × 6 = 857142
각 수가 순환수인지 아닌지를 판별하는 프로그램을 작성하라.
입력
입력은 정수들의 목록이며, 한 줄에 하나씩 주어진다. 각 정수는 자리부터 자리까지의 길이를 가진다. 앞자리의 0은 의미가 있다. 0은 수의 일부이며 자릿수 을 셀 때 포함된다. 따라서 01 은 두 자리 수로, 한 자리 수인 1 과는 다르다. 입력은 끝까지 읽는다.
출력
각 입력 정수에 대해 한 줄씩 출력한다. 입력에 나타난 그대로(앞자리 0을 포함하여) 수를 먼저 쓰고, 그 수가 순환수이면 is cyclic 을, 아니면 is not cyclic 을 이어서 출력한다.