Припустимо, ми почнемо з нескінченного списку простих чисел:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, ...
Потім ми беремо абсолютні різниці між кожною парою чисел, кілька разів:
[1, 2, 2, 4, 2, 4, 2, 4, 6, 2, 6, 4, 2, 4, 6, 6, 2, 6, 4, ...
[1, 0, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 0, 4, 4, 2, ...
[1, 2, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2, 4, 0, 2, ...
[1, 2, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 4, 2, ...
Зауважте, що перше число щоразу дорівнює 1. Концепція Гілбрайта - це передбачення, що так продовжується вічно.
Єдиний спосіб, коли головне число перестане бути рівним 1, якщо наступне число після нього не було ні 0, ні 2. Єдиний спосіб, коли другим числом не було б 0 або 2, якщо число після цього не було а 0 ні а 2. І так далі.
Індекс самого раннього числа, окрім провідного 1, який не є ні 0, ні 2, ніколи не може знижуватися більш ніж на 1 між послідовними парами послідовностей. Цей факт був використаний, щоб поставити дуже сильну нижню межу, коли, якщо ніколи, у послідовності може бути не 1 як перший елемент.
У цьому виклику вам буде надано індекс послідовності, і ви повинні вивести індекс першого числа в тій послідовності, яка не є першою і не є 0 або 2.
Наприклад, у 4-й послідовності абсолютної різниці вище:
[1, 2, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 4, 2, ...
Перший запис, який не є ані нулем, ані двома, окрім першого запису, - це 15-та позиція, 14 нульова індексація. Отже, якби вхід був 4, ви вивели б 14.
Для входів від 1 до 30 виходи повинні бути:
[3, 8, 14, 14, 25, 24, 23, 22, 25, 59, 98, 97, 98, 97, 174, 176, 176, 176, 176, 291, 290, 289, 740, 874, 873, 872, 873, 872, 871, 870]
Це OEIS A000232 .
Це за умови, що у вас є 1 індексований вхід та 0 індексованих виходів. Ви можете індексувати свої входи та виходи, починаючи з будь-яких постійних цілих чисел, якщо ви можете прийняти діапазон входів, що відповідає всім послідовностям.
Вимоги: Ваше рішення повинно працювати не більше 1 хвилини на вході до 30. Якщо це досить близько, що залежить від специфікацій комп'ютера, це дозволено.
Найкоротший код виграє.