Давайте определим последовательность. Мы скажем, что - это наименьшее число , которое имеет следующие свойства:
и взаимно просты (они не имеют общего множителя)
не появляется раньше в последовательности
В отличие от большинства последовательностей домен и диапазон нашей последовательности являются целыми числами больше 1.
Давайте посчитаем первые пару терминов.
должно быть не менее 4 , но 4 и 2 имеют коэффициент 2, поэтому должно быть 5 .
должно быть не менее 5, но 5 взято , поэтому оно равно как минимум 6 , но 6 делит множитель с 3, поэтому оно должно быть не менее 7 , 7 удовлетворяет всем трем требованиям, таким образом, .
- 2 Делит фактор
- 3 Слишком близко
- 4 Слишком близко
- 5 Слишком близко
- 6 Делит фактор
- 7 Снято (3)
- 8 Делит фактор
- 9 это хорошо
- 2 это хорошо
задача
В этом задании вы должны написать программу, которая принимает число больше 1 и возвращает .
Это вопрос по коду-гольфу, поэтому ответы будут оцениваться в байтах, при этом меньшее количество байтов будет лучше.
Тестовые случаи
Вот первые пару членов последовательности (они, конечно, 2 проиндексированы):
5,7,9,2,11,3,13,4,17,6,19,8,23,22,21,10,25,12,27,16,15,14
Бонус Забавный факт
Как доказал Роберт Исраэль на Math.se ( ссылка ), эта последовательность является собственной обратной, что означает, что для всех n.
OEIS
Задав этот вопрос, я отправил эту последовательность в OEIS, и через несколько дней она была добавлена.