Thứ hai Mini-Golf: Một loạt các thử thách golf-code ngắn , được đăng (hy vọng!) Vào mỗi thứ Hai.
Một chuỗi giống như Fibonacci có được bằng cách sử dụng cùng một phương pháp với chuỗi Fibonacci nổi tiếng ; nghĩa là, mỗi số F (n) được tìm thấy bằng cách thêm hai số trước đó vào chuỗi ( F (n) = F (n-1) + F (n-2) ) hoặc bằng cách trừ hai số tiếp theo ( F (n) = F (n + 2) - F (n + 1) ). Sự khác biệt chính là các chuỗi này có thể bắt đầu với hai số bất kỳ. Việc lập chỉ mục bằng không của các chuỗi này là không thể tranh cãi, nhưng hiện tại, chúng tôi sẽ sử dụng quy tắc này:
- Số thứ 0 trong một chuỗi giống như Fibonacci là số cuối cùng nhỏ hơn số trước.
Ví dụ, chuỗi Fibonacci có thể được viết dưới dạng 1, 0, 1, 1, 2, 3, 5...
, vì vậy số thứ 0 trong chuỗi là đơn độc 0
.
Thử thách
Mục tiêu của thử thách là viết một chương trình hoặc hàm có ba số nguyên, ở bất kỳ định dạng nào:
- A và B , hai số bắt đầu tạo một chuỗi.
- N , độ dài của chuỗi kết quả để đầu ra.
Và xuất ra số N đầu tiên của chuỗi, bắt đầu từ 0.
Chi tiết
- A , B và N có thể được thực hiện theo bất kỳ thứ tự và định dạng nào, miễn là chúng được phân tách rõ ràng. Nếu bạn sử dụng một thứ tự / định dạng khác, vui lòng chỉ định nó là gì.
- Bạn có thể giả sử rằng A , B và N luôn là các số nguyên dương.
- Bạn có thể giả sử rằng N không quá 100 và chuỗi kết quả sẽ không chứa
x >= 2^31
. - Nếu A lớn hơn B , thì B là số thứ 0 trong chuỗi.
- Đầu ra phải được phân tách bằng dấu cách, dấu phẩy và / hoặc dòng mới.
- Không gian dấu hoặc dòng mới được cho phép, nhưng không phải là dấu phẩy.
Các trường hợp thử nghiệm
Ví dụ 1:
8 13 10
Làm việc lạc hậu từ 8 13
khi chúng tôi tìm thấy một số lớn hơn trước, chúng tôi nhận được 13 8 5 3 2 1 1 0 1
. Do đó, 0
là số thứ 0 trong chuỗi này. Tiếp tục thực hiện điều này, chúng tôi in ra 0
và 9 thành viên tiếp theo:
0 1 1 2 3 5 8 13 21 34
Ví dụ 2:
23 37 5
Một lần nữa làm việc lạc hậu để tìm số 0, chúng tôi tìm thấy 37 23 14 9 5 4 1 3
. Số thứ 0 lần này là 1
, vì vậy chúng tôi in nó ra, cùng với 4 thành viên tiếp theo:
1 4 5 9 14
Ví dụ 3:
4 3 8
Với cái này, chúng ta không phải làm việc lạc hậu để tìm số thứ 0, vì 3
nhỏ hơn 4
:
3 7 10 17 27 44 71 115
Ví dụ 4:
29 47 11
Kết quả:
1 3 4 7 11 18 29 47 76 123 199
Chấm điểm
Đây là mã golf , vì vậy mã hợp lệ ngắn nhất tính bằng byte thắng. Tiebreaker đi đến trình gửi trước đó. Người chiến thắng sẽ được chọn vào thứ Hai tới, ngày 28 tháng 9. Chúc may mắn!
Chỉnh sửa: Xin chúc mừng người chiến thắng của bạn, @Jakube, sử dụng Pyth cho 23 byte tuyệt vời !
[8, 13, 10]
)?