Sekwencja N-bonacci, pierwotnie wymyślona przez @DJMcMayhem w tym pytaniu , jest sekwencją generowaną przez rozpoczęcie od liczb całkowitych 0 i 1, a następnie dodanie poprzednich N liczb w celu wygenerowania następnej liczby. Specjalna sekwencja N-bonacci jest sekwencją N-bonacci rozpoczynającą się od pary liczb innych niż 0 i 1, które zostaną nazwane X i Y. Jeśli N jest większe niż liczba terminów już w sekwencji, po prostu dodaj wszystkie dostępne warunki.
Na przykład normalna sekwencja Fibonacciego ma N równą 2 (bierze poprzednie dwa elementy) oraz X i Y równe 0 i 1 lub 1 i 1, w zależności od tego, kogo zapytasz.
Twoje zadanie:
Masz napisać program lub funkcję, która sprawdza, czy wprowadzona liczba całkowita (A) jest częścią specjalnej sekwencji N-bonacci generowanej przez kolejne trzy liczby całkowite (używając drugiego wejścia jako N, a trzeciego i czwartego jako X i Y) . Upewnij się, że zajmujesz się przypadkiem specjalnym N = 1.
Wejście:
Cztery nieujemne liczby całkowite, A, N, X i Y.
Wynik:
Wartość prawda / fałsz wskazująca, czy A jest częścią sekwencji N-bonacci generowanej przez dane wejściowe N, X i Y.
Przypadki testowe:
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.
Punktacja:
To jest golf golfowy , więc wygrywa najniższy wynik w bajtach.
N=1, możesz przywołać je w pytaniu, ponieważ wiele odpowiedzi (w tym wszystkie aktualne odpowiedzi, jak sądzę) będzie miało warunek niepowodzenia, który zakłada ściśle rosnącą serię. Czy może Xi może Ybyć negatywne? Prawdopodobnie spowoduje to również unieważnienie wszystkich istniejących odpowiedzi.
8,1,8,9i 9,1,8,9upewnić się, że N=1obsługa spraw wykrywa nie powtarzającą się Xwartość, jak również Ywartość. (Jeśli chcesz zająć się 0,0sprawami, powinieneś również to dodać.)
N==1to taki dziwny przypadek.