Chúng ta đều quen thuộc với chuỗi Fibonacci nổi tiếng , bắt đầu bằng0
và 1
, và mỗi phần tử là tổng của hai phần trước. Dưới đây là một vài điều khoản đầu tiên (OEIS A000045 ):
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584
Cho một số nguyên dương , trả về số gần nhất của chuỗi Fibonacci, theo các quy tắc sau:
Số Fibonacci gần nhất được định nghĩa là số Fibonacci có chênh lệch tuyệt đối nhỏ nhất với số nguyên đã cho. Ví dụ,
34
là số Fibonacci gần nhất với30
, bởi vì|34 - 30| = 4
, nó nhỏ hơn số gần nhất thứ hai21
, trong đó|21 - 30| = 9
.Nếu số nguyên đã cho thuộc về chuỗi Fibonacci, thì số Fibonacci gần nhất chính xác là chính nó. Ví dụ, số Fibonacci gần nhất
13
là chính xác13
.Trong trường hợp hòa, bạn có thể chọn xuất một trong các số Fibonacci gần nhất với đầu vào hoặc chỉ xuất cả hai. Chẳng hạn, nếu đầu vào là
17
, tất cả những điều sau đây là hợp lệ :21
,13
hoặc21, 13
. Trong trường hợp bạn trả lại cả hai, vui lòng đề cập đến định dạng.
Lỗ hổng mặc định áp dụng. Bạn có thể lấy đầu vào và cung cấp đầu ra thông qua bất kỳ phương pháp tiêu chuẩn nào . Chương trình / chức năng của bạn chỉ phải xử lý các giá trị tối đa 10 8 .
Các trường hợp thử nghiệm
Đầu vào -> Đầu ra 1 -> 1 3 -> 3 4 -> 3 hoặc 5 hoặc 3, 5 6 -> 5 7 -> 8 11 -> 13 17 -> 13 hoặc 21 hoặc 13, 21 63 -> 55 101 -> 89 377 -> 377 467 -> 377 500 -> 610 1399 -> 1597
Chấm điểm
Đây là mã golf , vì vậy mã ngắn nhất tính theo byte trong mọi ngôn ngữ sẽ thắng!
n
ngụ ý n ≥ 1
.