Chuỗi N-bonacci, ban đầu được phát minh bởi @DJMcMayhem trong câu hỏi này , là một chuỗi được tạo bằng cách bắt đầu với các số nguyên 0 và 1, sau đó thêm các số N trước đó để tạo số tiếp theo. Chuỗi N-bonacci đặc biệt là chuỗi N-bonacci bắt đầu bằng một cặp số khác 0 và 1, sẽ được đặt tên là X và Y. Nếu N lớn hơn số lượng thuật ngữ đã có trong chuỗi, chỉ cần thêm tất cả có sẵn điều kiện.
Vì vậy, ví dụ chuỗi Wikipedia bình thường có N là 2 (lấy hai mục trước) và X và Y là 0 và 1, hoặc 1 và 1, tùy thuộc vào người bạn hỏi.
Nhiệm vụ của bạn:
Bạn phải viết một chương trình hoặc hàm để kiểm tra xem một số nguyên được nhập (A) có phải là một phần của chuỗi N-bonacci đặc biệt được tạo bởi ba số nguyên tiếp theo không (sử dụng đầu vào thứ hai là N, và thứ ba và thứ tư là X và Y) . Đảm bảo rằng bạn xử lý trường hợp đặc biệt của N = 1.
Đầu vào:
Bốn số nguyên không âm, A, N, X và Y.
Đầu ra:
Giá trị trung thực / giả mạo cho biết liệu A có phải là một phần của chuỗi N-bonacci được tạo bởi các đầu vào N, X và Y hay không.
Các trường hợp thử nghiệm:
Input: Output:
13,2,0,1->truthy
12,3,1,4->falsy
4,5,0,1-->truthy
8,1,8,9-->truthy
9,1,8,9-->truthy
12,5,0,1->falsy [0,1]>[0,1,1]>[0,1,1,2]>[0,1,1,2,4]>[0,1,1,2,4,8]>[0,1,1,2,4,8,16]>etc.
Ghi điểm:
Đây là môn đánh gôn , vì vậy điểm số thấp nhất tính bằng byte sẽ thắng.
N=1
, bạn có thể muốn gọi nó ra trong câu hỏi, vì nhiều câu trả lời (bao gồm tất cả các câu trả lời hiện tại, tôi nghĩ) sẽ có một điều kiện thất bại giả định rằng một chuỗi tăng nghiêm ngặt. Ngoài ra, có thể X
và Y
tiêu cực? Điều đó có thể cũng sẽ làm mất hiệu lực tất cả các câu trả lời hiện có.
8,1,8,9
và 9,1,8,9
để đảm bảo rằng N=1
việc xử lý trường hợp phát hiện X
giá trị không lặp lại cũng như Y
giá trị. (Nếu bạn muốn xử lý 0,0
các trường hợp, bạn cũng nên thêm vào đó.)
N==1
là một trường hợp kỳ lạ