Thử thách
Bạn phải viết một chương trình lấy một số nguyên dương n
làm đầu vào và xuất ra n
số Fibonacci thứ (được rút ngắn là Fib # trong suốt) có chứa n
Fib # thứ dưới dạng một phép trừ. Đối với mục đích của thử thách này, chuỗi Fibonacci bắt đầu bằng một1
.
Dưới đây là một số ví dụ mà bạn có thể sử dụng làm trường hợp thử nghiệm hoặc làm ví dụ để làm rõ thách thức (đối với trường hợp sau, vui lòng để lại nhận xét bên dưới giải thích những gì bạn thấy không rõ ràng).
n=1
Fib#s: 1
^1 1st Fib# that contains a 1 (1st Fib#)
Output: 1
n=2
Fib#s: 1, 1
^1 ^2 2nd Fib# that contains a 1 (2nd Fib#)
Output: 1
n=3
Fib#s: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233
^1 ^2 ^3 3rd Fib# that contains a 2 (3rd Fib#)
Output: 233
n=4
Output: 233
n=5
Output: 6765
n=6
Output: 28657
n=7
Output: 1304969544928657
n=8
Output: 14472334024676221
n=9
Output: 23416728348467685
n=10
Fib#s: 1, ..., 34, 55, 89, ..., 63245986, 102334155, 165580141, ..., 2880067194370816120, 4660046610375530309
^1 ^2 ^3 ^10 10th Fib# that contains a 55 (10th Fib#)
Output: 4660046610375530309
Như mọi khi, đây là môn đánh gôn , vì vậy hãy tính số byte thấp nhất có thể.
Nếu có gì đó khó hiểu / không rõ ràng, vui lòng để lại nhận xét.
(Thử thách này dựa trên một thử thách khác mà tôi đã đăng: In số nguyên tố thứ n có chứa n )
n=25
(đầu ra có 1186 chữ số), sau đó bị giết n=26
(3085 chữ số được biên dịch trên máy tính xách tay của riêng tôi). Dường như có một bước nhảy khó khăn mỗi khi fib(n)
có thêm một chữ số (như người ta mong đợi). Bước nhảy tiếp theo, 31, có 12990 chữ số trong đầu ra cuối cùng.
n=5
testcase, vì tôi vừa mắc một lỗi ngớ ngẩn khi tôi viết một tấm séc đếm số nhiều lần nếu nó có chuỗi con nhiều lần.n=5
sẽ bắt rằng vì sự55
.