Недавно я отправил на вопрос о Diffy играх, остались без ответа. Это хорошо, вопрос действительно сложный, но я хотел бы сделать более легкий вопрос об играх Диффи, чтобы мы могли начать игру.
Как работает Diffy
Скопировано из Find Diffy Games
Игра Diffy работает следующим образом: вы начинаете со списка неотрицательных целых чисел, в этом примере мы будем использовать
3 4 5 8
Тогда вы берете абсолютную разницу между соседними числами
(8) 3 4 5 8
5 1 1 3
Тогда вы повторяете. Вы повторяете, пока не поймете, что вступили в цикл. И тогда, как правило, игра начинается заново.
3 4 5 8
5 1 1 3
2 4 0 2
0 2 4 2
2 2 2 2
0 0 0 0
0 0 0 0
Большинство игр заканчиваются цепочкой всех нулей, что считается проигрышным состоянием, но в редких играх они зацикливаются на больших циклах.
задача
Учитывая начальное состояние игры Diffy, определите, достигнет ли игра в конечном итоге состояния всех нулей. Вы должны вывести значение «Истина» или «Ложь» для каждого из двух состояний. Который соответствует, который не имеет значения.
Цель состоит в том, чтобы минимизировать количество байтов в вашем источнике.
1 1 0является периодическим, 42 42 41таково и такое состояние.
n нечетная, игра не обнуляется, если все числа не равны. Если длина является степенью 2, она всегда стремится к нулю.
nэлементами и максимумом mзанимает самое большее количество n * bit_length(m)шагов. Итак, n*mэто тоже верхняя граница. Более сильная верхняя граница t(n) * bit_length(m), где t(n)наибольшая степень 2, это фактор n.