Như bạn có thể biết, Số Fibonacci là một số là tổng của hai số trước đó trong chuỗi.
Một chữ số Fibonacci ™ là một số là tổng của hai chữ số trước đó .
Ví dụ, đối với chuỗi bắt đầu 1,1, chuỗi sẽ là 1,1,2,3,5,8,13,4,7,11,2...Thay đổi xảy ra sau 13, ở đâu, thay vì thêm 8+13, bạn thêm 1+3. Chuỗi vòng ở cuối, ở đâu 4+7=11, và 1+1=2giống như chuỗi bắt đầu.
Đối với một ví dụ khác, loạt bắt đầu 2,2: 2,2,4,6,10,1,1,2,3,5,8,13,4,7,11,2,3.... Cái này bắt đầu một cách duy nhất, nhưng một khi các chữ số tổng hợp 10, bạn kết thúc 1+0=1, 0+1=1và chuỗi tiếp tục - và các vòng lặp - giống như cách mà 1,1chuỗi đã làm.
Các thách thức
Đưa ra một đầu vào số nguyên 0≤n≤99, tính toán vòng lặp trong chuỗi Số Fibonacci bắt đầu bằng hai chữ số đó. (Bạn chắc chắn được phép xem xét các số nguyên trong phạm vi này, nhưng không bắt buộc.) Nếu được cung cấp đầu vào một chữ số, mã của bạn sẽ diễn giải nó để biểu thị bắt đầu chuỗi 0,n.
Tất cả các số trong vòng lặp có hai chữ số phải được xuất ra dưới dạng hai chữ số. Vì vậy, ví dụ, vòng lặp cho 1,1sẽ chứa 13, không 1,3.
Đầu ra bắt đầu với số đầu tiên trong vòng lặp. Vì vậy, dựa trên các hạn chế ở trên, vòng lặp 1,1bắt đầu bằng 2, 1,1và 11được tính riêng.
Mỗi số lượng đầu ra có thể được phân tách bằng bất cứ thứ gì bạn muốn, miễn là nó phù hợp. Trong tất cả các ví dụ của tôi, tôi sử dụng dấu phẩy, nhưng dấu cách, dấu ngắt dòng, chữ cái ngẫu nhiên, v.v ... đều được phép, miễn là bạn luôn sử dụng cùng một phân tách. Vì vậy, 2g3g5g8g13g4g7g11là một đầu ra hợp pháp cho 1, nhưng 2j3g5i8s13m4g7sk11không. Bạn có thể sử dụng chuỗi, danh sách, mảng, bất cứ điều gì, miễn là bạn có các số chính xác theo đúng thứ tự được phân tách bằng dấu phân cách nhất quán. Việc đóng khung toàn bộ đầu ra cũng được cho phép (ví dụ , (5,9,14)hoặc [5,9,14], v.v.).
Các trường hợp thử nghiệm:
1 -> 2,3,5,8,13,4,7,11
2 -> 2,3,5,8,13,4,7,11
3 -> 11,2,3,5,8,13,4,7
4 -> 3,5,8,13,4,7,11,2
5 -> 2,3,5,8,13,4,7,11
6 -> 3,5,8,13,4,7,11,2
7 -> 14,5,9
8 -> 13,4,7,11,2,3,5,8
9 -> 11,2,3,5,8,13,4,7
0 -> 0
14 -> 5,9,14
59 -> 5,9,14
Đây là mã golf , vì vậy số byte thấp nhất sẽ thắng.
14và 59đưa ra kết quả tương tự. Nếu 59được hiểu là bắt đầu 5,9và cho phép đó là một phần của vòng lặp thì chắc chắn 14nên bắt đầu vòng lặp của nó?
0,1,1,2,3,5,8,13,4,7,11,2,3. Lần đầu tiên vòng lặp lặp lại là lần thứ hai 2.
1,4,5,9,14,5và 5,9,14,5,9. Cả hai lặp lại bắt đầu với lần thứ hai 5. Như tôi đã nói trước đó, chỉ có đầu vào được tách ra; các số sau giữ các chữ số của chúng với nhau trong chuỗi.