Послідовність N-бочанок, спочатку винайдена @DJMcMayhem у цьому питанні , є послідовністю, що формується, починаючи з цілих чисел 0 і 1, а потім додаючи попередні N числа для генерації наступного числа. Спеціальна послідовність N-боханців - це послідовність N-бочан, що починається з пари чисел, відмінних від 0 і 1, які будуть названі X і Y. Якщо N більше числа термінів, які вже є в послідовності, просто додайте всі наявні умови.
Так, наприклад, нормальна послідовність вирівнювання має N 2 (займає два попередні елементи), а X і Y 0 і 1, або 1 і 1, залежно від того, кого ви запитуєте.
Ваше завдання:
Ви повинні написати програму або функцію, яка перевіряє, чи введене ціле число (A) є частиною спеціальної послідовності N-bo bora, що генерується наступними трьома цілими числами (використовуючи другий вхід як N, а третій і четвертий як X і Y) . Переконайтеся, що ви обробляєте особливий випадок N = 1.
Вхід:
Чотири невід’ємні цілі числа, A, N, X і Y.
Вихід:
Корекційне / хибне значення, яке вказує, чи є A частиною послідовності N-боханок, породженої входами N, X та Y.
Випробування:
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.
Оцінка:
Це код-гольф , тому виграє найнижчий бал у байтах.
N=1
, ви можете зателефонувати в запитання, оскільки багато відповідей (включаючи всі поточні відповіді, я думаю) матимуть умову відмови, яка передбачає суворо зростаючий ряд. Також може бути X
і Y
бути негативним? Це, ймовірно, також визнає недійсними всі відповіді.
8,1,8,9
та 9,1,8,9
переконатися, що N=1
обробка справ визначає не повторне X
значення, а також Y
значення. (Якщо ви хочете розглянути 0,0
справи, то вам слід додати і це.)
N==1
такий дивний випадок.