Vamos definir uma sequência. Diremos que é o menor número, , que possui as seguintes propriedades:
e são co-primos (eles não compartilham nenhum fator)
não aparece anteriormente na sequência
Ao contrário da maioria das seqüências, o domínio e o intervalo de nossa sequência são números inteiros maiores que 1.
Vamos calcular os primeiros dois termos.
, deve ser pelo menos 4 , mas 4 e 2 compartilham um fator de 2, de modo que deve ser 5 .
, deve ser pelo menos 5, mas 5 é obtido por , portanto, é pelo menos 6 , mas 6 compartilha um fator com 3, portanto deve ser pelo menos 7 , 7 atende a todos os três requisitos, portanto, .
- 2 Compartilha um fator
- 3 Muito perto
- 4 Muito perto
- 5 Muito perto
- 6 Compartilha um fator
- 7 Tirada por um (3)
- 8 Compartilha um fator
- 9 é bom
- 2 é bom
Tarefa
Neste desafio, você deve escrever um programa que pega um número maior que 1 e retorna .
Esta é uma questão de código-golfe, para que as respostas sejam pontuadas em bytes, com menos bytes sendo melhores.
Casos de teste
Aqui estão os primeiros dois termos da sequência (é claro que são 2 indexados):
5,7,9,2,11,3,13,4,17,6,19,8,23,22,21,10,25,12,27,16,15,14
Bonus fato Fun
Como provado por Robert Israel no Math.se ( link ), essa sequência é inversa, o que significa que para todos os n.
OEIS
Depois de fazer esta pergunta, enviei esta sequência para o OEIS e após alguns dias ela foi adicionada.
Respostas:
Haskell , 61 bytes
Experimente online!
Eu sou bastante novo em Haskell, então qualquer dica de golfe é apreciada.
Graças ao Assistente de Trigo por 2 bytes e nimi por 4 bytes
Explicação:
fonte
Alice , 42 bytes
Experimente online!
Explicação
Este é um modelo padrão para programas que recebem um número como entrada e emitem um número, modificado para colocar 1 na pilha abaixo do número de entrada.
A parte principal do programa coloca cada número
k
no slota(k)
da fita. O loop interno calcula a (k) e o loop externo itera sobre k até que a (n) seja computado.fonte
VB.NET (.NET 4.5), 222 bytes
Eu tive que lançar seu próprio GCD. Também não consegui descobrir como fazê-lo não ser uma função inteira.
O GCD é sempre> = 1, portanto, basta ignorar 1
Tirou um curto-circuito no golfe porque é mais curto
Sem golfe
fonte
Mathematica, 111 bytes
Experimente online! 2..23 (modo de alcance)
Experimente online! ou 150 (valores distintos)
fonte
Japt , 33 bytes (não concorrente?) †
Experimente online!
† Eu fixo um bug no Japt intérprete , enquanto trabalhava em esta solução. Esta meta post de um ano atrás considera esta resposta não competitiva, mas esta nova meta post está pressionando por mais liberdade nisso. Independentemente disso, gastei muito tempo nisso para descartá-lo.
fonte
05AB1E , 26 bytes
Experimente on-line ou produza a primeiran termos como lista . (OBSERVAÇÃO: 10 ∗ n ao invés de 10n ).)
°
obviamente é extremamente lento, substitua-T*
o pelos links TIO (Explicação:
fonte