처음 두 항이 (또는 때때로 ) 있는 피보나치 수열에 익숙 할 것입니다. 그 이후의 모든 항은 이전 두 항의 합입니다. 다음과 같이 시작됩니다.0, 1
1, 1
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
때로는 시퀀스에 흥미로운 패턴이있는 숫자가 포함되어 있습니다. 인접한 숫자 쌍의 차이는 다른 쌍과 같습니다. 예를 들어로 시작하는 순서 0, 1
에서 18 번째 항은 987
입니다. 9-8=1
그리고 8-7=1
. 나는 약간 만족합니다.
도전
두 개의 초기 값 F(0)
과가 주어지면 F(1)
그에 의해 생성 된 시퀀스의 모든 숫자 F(n) = F(n-1) + F(n-2)
가 다음 기준을 충족합니다.
- 인접한 숫자 쌍의 차이는 다른 쌍과 동일합니다.
- 길이는 3 자리 이상입니다 (1과 2 자리 숫자는이 패턴에서 흥미롭지 않습니다)
입력
- 10 ** 10 (100 억)보다 작은 음이 아닌 정수 2 개
산출
- 10 ** 10 미만이고 챌린지 섹션의 기준을 충족하는 모든 정수
- 10 ** 10보다 큰 숫자를 출력 할 수 있지만 필수는 아닙니다.
- 반복되는 자릿수가 패턴 (예
777
:)을 충족하는 경우, 기준을 충족하는 무한한 숫자가있을 수 있지만 프로그램이 영원히 출력 할 필요는 없습니다. - 그러한 정수가 존재하지 않으면 숫자가 아닌 한 원하는 것을 출력하십시오 (1, null, 빈 배열, 오류 메시지, 슬픈 얼굴 등).
- 패턴과 일치하는 숫자가 시퀀스에서 두 번 이상 나타나면 패턴을 한 번 또는 여러 번 출력 할 수 있습니다
- 입력이 기준을 충족하는 경우 출력에 포함되어야합니다.
규칙
예 / 테스트 사례
Input , Output
[1,10] , []
[0,1] , [987]
[2,1] , [123]
[2,3] , [987]
[61,86] , [147]
[75,90] , [420]
[34,74] , [1234]
[59,81] , [2468]
[84,85] , [7531]
[19,46] , [111]
[60,81] , [222]
[41,42] , [333]
[13,81] , [444]
[31,50] , [555]
[15,42] , [666]
[94,99] , [777]
[72,66] , [888]
[3189,826] , [888888888]
[15,3] , [159,258]
[22,51] , [321,1357]
[74,85] , [159,4444]
[27,31] , [147,11111]
[123,0] , [123,123,123,246,369]
[111,0] , [111,111,111,222,333,555,888]
[111,222] , [111,222,333,555,888]
[33345,692] , [987654321]
[3894621507,5981921703] , [9876543210]
[765432099,111111111] , [111111111,876543210,987654321]
[1976,123] , [123, 2222, 4321, 6543, 45678]
[1976, 123] -> [123, 2222, 4321, 6543, 45678]
,[3189, 826] -> [888888888]
,[33345, 692] -> [987654321]