이 질문 에서 원래 @DJMcMayhem 이 발명 한 N-bonacci 시퀀스 는 정수 0과 1로 시작한 다음 이전 N 숫자를 더하여 다음 숫자를 생성하여 생성 된 시퀀스입니다. 특수 N- 보나 치 시퀀스는 0과 1 이외의 숫자 쌍으로 시작하는 N- 보나 치 시퀀스이며 X와 Y로 이름이 지정됩니다. N이 시퀀스에 이미있는 항의 수보다 큰 경우 사용 가능한 모든 항목을 추가하면됩니다. 자귀.
예를 들어, 정상적인 피보나치 수열은 요청한 사람에 따라 N이 2이고 (앞의 두 항목을 취함) X와 Y가 0과 1 또는 1과 1입니다.
당신의 작업 :
입력 된 정수 (A)가 다음 세 정수에 의해 생성 된 특수 N- 보나 치 시퀀스의 일부인지 확인하는 프로그램 또는 함수를 작성해야합니다 (두 번째 입력은 N으로, 세 번째와 네 번째는 X와 Y로 사용). . 특수한 경우 N = 1을 처리해야합니다.
입력:
네 개의 음이 아닌 정수, A, N, X 및 Y
산출:
A가 N, X 및 Y 입력에 의해 생성 된 N- 보나 치 시퀀스의 일부인지 여부를 나타내는 참 / 거짓 값입니다.
테스트 사례 :
Input: Output:
13,2,0,1->truthy
12,3,1,4->falsy
4,5,0,1-->truthy
8,1,8,9-->truthy
9,1,8,9-->truthy
12,5,0,1->falsy [0,1]>[0,1,1]>[0,1,1,2]>[0,1,1,2,4]>[0,1,1,2,4,8]>[0,1,1,2,4,8,16]>etc.
채점 :
이것은 code-golf 이므로 바이트 단위의 최저 점수가 이깁니다.
N=1
원한다면 많은 답변 (모든 현재 답변을 포함하여)이 엄격하게 증가하는 시리즈를 가정하는 실패 조건을 갖기 때문에 질문에서 사례 를 호출 할 수 있습니다. 또한, 수 X
및 Y
음수? 아마도 기존의 모든 답변이 무효화 될 것입니다.
8,1,8,9
하고 9,1,8,9
보장하기 위하여 N=1
경우 처리가 반복되지 않은 감지 X
값뿐만 아니라 Y
값입니다. ( 0,0
케이스 를 처리 하려면 추가해야합니다.)
N==1
그런 이상한 경우입니다.