피보나치 유사 시퀀스를 f k (n) = (f k (n-1) + f k (n-2)) % k로 정의 하면 정수 k (여기서 % 는 모듈로 연산자)에 대해 시퀀스 (f k (n-1), f k (n-2))에 대해 k 2 개의 서로 다른 값만 있기 때문에 반드시 순환됩니다 . 그러나이주기는 일반적으로 가능한 모든 값 쌍을 포함하지 않으므로 두 시작 값 f k (0) 및 f k (1) 에 따라 다른주기를 얻을 수 있습니다. 예를 들어, k = 2 인 경우처음 두 값에 따라 다음과 같은 네 가지 가능성이 있습니다.
0, 0, 0, 0, 0, 0, 0, 0, 0, ...
0, 1, 1, 0, 1, 1, 0, 1, 1, ...
1, 0, 1, 1, 0, 1, 1, 0, 1, ...
1, 1, 0, 1, 1, 0, 1, 1, 0, ...
시퀀스의 순환 특성으로 인해 궤도 (0) 및 (0, 1, 1)을 가진 근본적으로 다른 시퀀스가 두 개뿐입니다 . k = 3을 보자 :
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
0, 1, 1, 2, 0, 2, 2, 1, 0, 1, 1, 2, 0, 2, 2, 1, ...
0, 2, 2, 1, 0, 1, 1, 2, 0, 2, 2, 1, 0, 1, 1, 2, ...
1, 0, 1, 1, 2, 0, 2, 2, 1, 0, 1, 1, 2, 0, 2, 2, ...
1, 1, 2, 0, 2, 2, 1, 0, 1, 1, 2, 0, 2, 2, 1, 0, ...
1, 2, 0, 2, 2, 1, 0, 1, 1, 2, 0, 2, 2, 1, 0, 1, ...
2, 0, 2, 2, 1, 0, 1, 1, 2, 0, 2, 2, 1, 0, 1, 1, ...
2, 1, 0, 1, 1, 2, 0, 2, 2, 1, 0, 1, 1, 2, 0, 2, ...
2, 2, 1, 0, 1, 1, 2, 0, 2, 2, 1, 0, 1, 1, 2, 0, ...
다시, (0) 과 (0, 1, 1, 2, 0, 2, 2, 1)의 두 가지 다른 궤도가 있습니다.
k 가 높을수록 더 많은 궤도를 얻을 수 있지만 여전히 적은 수의 클래스에 속합니다. 예를 들어 k = 4 는 네 개의 궤도 (0) , (0,1,1,2,3,1) , (0, 2, 2) , (0, 3, 3, 2, 1, 3) 및 k를 산출합니다. = 5 세 궤도 (0) , (0, 1, 1, 2, 3, 0, 3, 3, 1, 4, 0, 4, 4, 3, 2, 0, 2, 2, 4, 1) 및 (1, 3, 4, 2) .
이 과제의 과제는 주어진 k에 대해 시퀀스가 생성하는 궤도 수를 계산하는 것 입니다. 이다 OEIS A015134 . 다음은 처음 100 개 값입니다 ( k = 1 에서 시작 ).
1, 2, 2, 4, 3, 4, 4, 8, 5, 6, 14, 10, 7, 8, 12, 16, 9, 16, 22, 16,
29, 28, 12, 30, 13, 14, 14, 22, 63, 24, 34, 32, 39, 34, 30, 58, 19,
86, 32, 52, 43, 58, 22, 78, 39, 46, 70, 102, 25, 26, 42, 40, 27, 52,
160, 74, 63, 126, 62, 70, 63, 134, 104, 64, 57, 78, 34, 132, 101, 60,
74, 222, 37, 38, 62, 328, 89, 64, 82, 124, 41, 86, 42, 172, 75, 44,
184, 178, 181, 132, 82, 180, 99, 140, 104, 246, 49, 50, 114, 76
k 궤도 이상을 산출하는 첫 번째 입력 인 k = 11 을 확인하십시오 .
규칙
양의 정수 k 가 주어지고 A015134 (k)를 출력해야합니다 .
사용자가 쓸 수 프로그램이나 함수를 상기의 어떠한 사용도 표준 방법 의 입력을 수신하고 출력을 제공한다.
모든 프로그래밍 언어를 사용할 수 있지만 이러한 허점 은 기본적으로 금지되어 있습니다.
이것은 code-golf 이므로 바이트 단위로 측정 된 가장 짧은 유효한 답변이 이깁니다.