Có lẽ bạn đã quen thuộc với chuỗi Fibonacci trong đó hai thuật ngữ đầu tiên là 0, 1
(hoặc đôi khi 1, 1
) và mọi thuật ngữ sau đó là tổng của hai thuật ngữ trước. Nó bắt đầu như thế này:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Đôi khi, chuỗi chứa các số có một mẫu cụ thể mà tôi thấy thú vị: sự khác biệt giữa bất kỳ cặp chữ số liền kề nào cũng giống như bất kỳ cặp nào khác. Chẳng hạn, trong chuỗi bắt đầu bằng 0, 1
, số hạng thứ 18 là 987
. 9-8=1
và 8-7=1
. Tôi hài lòng nhẹ.
Thử thách
Đưa ra hai giá trị ban đầu F(0)
và F(1)
, xuất ra mọi số trong chuỗi được tạo bởi F(n) = F(n-1) + F(n-2)
đáp ứng các tiêu chí sau:
- Sự khác biệt giữa bất kỳ cặp chữ số liền kề nào cũng giống như bất kỳ cặp nào khác
- Nó dài tối thiểu ba chữ số (số 1 và 2 chữ số không thú vị đối với mẫu này)
Đầu vào
- Hai số nguyên không âm dưới 10 ** 10 (10 tỷ)
Đầu ra
- Tất cả các số nguyên nhỏ hơn 10 ** 10 và đáp ứng các tiêu chí trong phần Thử thách
- Có thể chấp nhận các chữ số đầu ra lớn hơn 10 ** 10 nhưng nó không phải là một yêu cầu
- Cho rằng các chữ số lặp lại đáp ứng mẫu (ví dụ
777
), có thể có các số vô hạn đáp ứng các tiêu chí nhưng chương trình của bạn không bắt buộc phải xuất ra mãi mãi - Nếu không có số nguyên nào như vậy tồn tại, hãy xuất bất cứ thứ gì bạn muốn miễn là nó không phải là số (không có gì, null, mảng trống, thông báo lỗi, mặt buồn, v.v.)
- Nếu một số khớp với mẫu xuất hiện nhiều lần trong chuỗi, bạn có thể xuất nó một lần hoặc nhiều lần khi nó xảy ra
- Nếu bất kỳ đầu vào nào đáp ứng các tiêu chí, thì nó nên được đưa vào đầu ra
Quy tắc
- Đầu vào và đầu ra có thể ở bất kỳ định dạng tiêu chuẩn nào
- Sơ hở tiêu chuẩn bị cấm
- Đây là môn đánh gôn, vì vậy mã ngắn nhất tính bằng byte sẽ thắng
Ví dụ / Trường hợp kiểm tra
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]