Đầu tiên, hãy nói về chuỗi Beatty . Cho một số vô tỷ r dương , chúng ta có thể xây dựng một chuỗi vô hạn bằng cách nhân các số nguyên dương với r theo thứ tự và lấy sàn của mỗi phép tính kết quả. Ví dụ,
Nếu r > 1, chúng ta có một điều kiện đặc biệt. Chúng ta có thể tạo thành một số vô tỷ khác s là s = r / ( r - 1). Điều này sau đó có thể tạo ra chuỗi Beatty của riêng nó, B s . Thủ thuật gọn gàng là B r và B s là bổ sung cho nhau , nghĩa là mọi số nguyên dương nằm trong chính xác một trong hai chuỗi.
Nếu chúng ta đặt r = ϕ, tỷ lệ vàng, thì chúng ta sẽ có s = r + 1 và hai chuỗi đặc biệt. Các hạ chuỗi Wythoff cho r :
1, 3, 4, 6, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25, 27, 29, ...
và chuỗi Wythoff trên cho s :
2, 5, 7, 10, 13, 15, 18, 20, 23, 26, 28, 31, 34, 36, 39, 41, 44, 47, ...
Đây là các chuỗi A000201 và A001950 trên OEIS, tương ứng.
Các thách thức
Cho một số nguyên đầu vào dương 1 <= n <= 1000
, xuất một trong hai giá trị riêng biệt cho biết liệu đầu vào nằm trong chuỗi Wythoff thấp hơn hay chuỗi trên . Các giá trị đầu ra có thể là -1
và 1
, true
và false
, upper
và lower
vv
Mặc dù thuật toán đã gửi của bạn về mặt lý thuyết phải hoạt động cho tất cả các đầu vào, nhưng trên thực tế, nó chỉ phải hoạt động với 1000 số đầu vào đầu tiên.
I / O và Nội quy
- Đầu vào và đầu ra có thể được cung cấp bởi bất kỳ phương pháp thuận tiện .
- Đầu vào và đầu ra có thể được coi là phù hợp với loại số gốc của ngôn ngữ của bạn.
- Một chương trình đầy đủ hoặc một chức năng được chấp nhận. Nếu một chức năng, bạn có thể trả lại đầu ra thay vì in nó.
- Sơ hở tiêu chuẩn bị cấm.
- Đây là môn đánh gôn để áp dụng tất cả các quy tắc chơi golf thông thường và mã ngắn nhất (tính bằng byte) sẽ thắng.