Завдання
Визначте мод-складку як функцію виду f (x) = x% a 1 % a 2 %…% a k , де a i - натуральні цілі і k ≥ 0 . (Тут % - ліво-асоціативний оператор модуля.)
Давши список з n цілих чисел y 0 , ..., y n − 1 , визначте, чи існує мод-кратний f, щоб кожне y i = f (i) .
Ви можете вибрати і зафіксувати будь-які два виходи Y і N для своєї функції / програми. Якщо такий f є , ви завжди повинні повертати / друкувати саме Y ; якщо немає, то ви завжди повинні повернутися / друкувати точно N . (Це можуть бути true
/ false
, або 1
/ 0
, або false
/ true
тощо). Згадайте про це у своїй відповіді.
Виграє найкоротше подання в байтах.
Приклад
Визначте f (x) = x% 7% 3 . Його значення починаються:
| x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ...
| f(x) | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 0 | 1 | 2 | ...
Таким чином, даючи 0 1 2 0 1 2 0 0 1 2
як вхід до нашого рішення, ми б надрукували Y , оскільки це f породжує цю послідовність. Однак, подані 0 1 0 1 2
як вхідні дані, ми б надрукували N , оскільки жодна f не генерує цю послідовність.
Тестові справи
Формули, подані, коли вихід є Y, служать лише для ознайомлення; ви не повинні надрукувати їх у будь-який момент.
0 1 2 3 4 5 Y (x)
1 N
0 0 0 Y (x%1)
0 1 2 0 1 2 0 0 1 2 Y (x%7%3)
0 0 1 N
0 1 2 3 4 5 6 0 0 1 2 Y (x%8%7)
0 1 2 0 1 2 0 1 2 3 N
0 2 1 0 2 1 0 2 1 N
0 1 0 0 0 1 0 0 0 0 1 Y (x%9%4%3%2)