Uma régua padrão de comprimento n tem marcas de distância nas posições 0, 1, ..., n (em quaisquer unidades). Uma régua esparsa possui um subconjunto dessas marcas. Uma régua pode medir a distância k se ele tem marcas em posições p e q com p - q = k .
O desafio
Dado um número inteiro positivo n , imprima o número mínimo de marcas necessárias em uma régua esparsa de comprimento n para que ele possa medir todas as distâncias 1, 2, ..., n .
Este é o OEIS A046693 .
Como exemplo, para a entrada 6, a saída é 4. Ou seja, uma régua com marcas em 0, 1, 4, 6 funciona, como 1−0 = 1, 6−4 = 2, 4−1 = 3, 4−0 = 4, 6−1 = 5 e 6−0 = 6.
Regras adicionais
- O algoritmo deve ser válido para n arbitrariamente grande . No entanto, é aceitável se o programa estiver limitado por restrições de memória, hora ou tipo de dados.
- A entrada / saída pode ser obtida / produzida por qualquer meio razoável .
- Programas ou funções são permitidos, em qualquer linguagem de programação . As brechas padrão são proibidas.
- O menor código em bytes vence.
Casos de teste
1 -> 2
2 -> 3
3 -> 3
4 -> 4
5 -> 4
6 -> 4
7 -> 5
8 -> 5
9 -> 5
10 -> 6
11 -> 6
12 -> 6
13 -> 6
14 -> 7
15 -> 7
16 -> 7
17 -> 7
18 -> 8
19 -> 8
20 -> 8
21 -> 8
22 -> 8
23 -> 8
24 -> 9
25 -> 9
26 -> 9
27 -> 9
28 -> 9
29 -> 9
30 -> 10
31 -> 10
32 -> 10
Respostas:
Gelatina , 14 bytes
Um link monádico que recebe e retorna números inteiros não negativos.
Experimente online! (primeiros 15 valores aqui - não eficiente)
Quão?
Encontra todos os governantes que você pode fazer usando as marcas de 1 a n + 1 (o conjunto de potências de [1, n + 1]) ordenados por sua contagem de marcações e mantém apenas aqueles que criam distâncias mensuráveis máximas (o comprimento do conjunto de diferenças entre todos os pares de marcas ordenados) e, em seguida, retorna o comprimento da primeira (ou seja, [uma das] as mais curtas [s]).
fonte
Wolfram Language (Mathematica) , 65 bytes
Experimente online!
fonte
Mathematica, 84 bytes
Experimente online!
fonte
Pitão , 14 bytes
Experimente aqui!
Pitão ,
2119 bytesExperimente aqui!
Como funciona
Vou atualizar isso depois do golfe.
Obrigado a isaacg por salvar um byte para minha segunda abordagem e me inspirar a tirar 3 bytes da minha abordagem atual!
fonte
S
é desnecessário.Python 2 ,
129128126 bytesgraças a totallyhuman por -1 byte
Experimente online!
saída é via código de saída
fonte
Casca ,
2018 bytesObrigado @ H.PWiz por -2 bytes!
Experimente online!
Explicação
fonte
oa-
é o mesmo que≠
≈
.Geléia , 17 bytes
Experimente online!
Guardado 1 byte graças a Jonathan Allan !
fonte
ḢL
deve estar ok ..Pitão, 15 bytes
Suíte de teste
Como funciona
fonte
Geléia , 17 bytes
Experimente online!
Emprestado um truque da resposta do Sr. Xcoder para -1.
-1 graças a Jonathan Allan .
fonte
ḢL
deve estar ok ..Ruby , 98 bytes
Experimente online!
fonte