Это довольно сложный вопрос. Я определю последовательность, и вы получите некоторый код для вывода записи с указанным индексом.
Первый элемент в последовательности - 2.
N-й элемент в последовательности - это наименьшее положительное целое число, отличное от n и 1, разделяющее по крайней мере один фактор с n (кроме 1), который еще не появился в списке.
Контрольные примеры
Вот первые 25 пунктов в последовательности:
1 2
2 4
3 6
4 8
5 10
6 3
7 14
8 12
9 15
10 5
11 22
12 9
13 26
14 7
15 18
16 20
17 34
18 16
19 38
20 24
21 27
22 11
23 46
24 21
25 30
code-golf
number
sequence
permutations
Специальный охотник за гарфами
источник
источник
Python 3 ,
118117 байт-1 байт благодаря Кэмерон Аавик !
Попробуйте онлайн!
Код довольно неэффективен (он перебирает значение, которого нет в предыдущих результатах, и снова вычисляет предыдущие результаты при каждом новом значении), поэтому он работает должным образом, но я бы не рекомендовал запускать его для больших чисел.
источник
def f(n,i=3):
и удаливi=3
строкуHaskell ,
6059 байтРЕДАКТИРОВАТЬ:
all(/=x)
короче чемx`notElem`
.f
принимает целое число и возвращает целое числоПопробуйте онлайн!
Это очень экспоненциальное время, поэтому время TIO истекло после 21, в то время как мой интерпретированный GHCi поднялся до 22, прежде чем я остановил его только сейчас. Следующие 9 байт более длинной версии, запоминающиеся в списке, легко вырастают до тысяч:
Попробуйте онлайн!
f n
использует составление списка для генерации кандидатовx
, взяв первый проходящий с!!0
.gcd x n>1
проверяет этоx
иn
имеет общие факторы.||n<2
освобождаетn==1
от требования фактора.all(/=x)$n:map f[1..n-1]
проверяет, что неx
является ниn
предшествующим элементом последовательности.источник
all(/=x)$
там 1 корочеНет встроенного для GCD в C #, так что ...
C # (.NET Core) ,
197 196194 байтаПопробуйте онлайн!
Еще раз, воздержитесь от использования этого кода для вычисления чисел в последовательности для
n>30
...while
цикл GCD дляfor
цикла.источник
a>0&b>0
можно сыграть в гольфa*b>0
APL (Dyalog) , 46 байтов
Попробуйте онлайн!
источник