Une règle standard de longueur n a des repères de distance aux positions 0, 1, ..., n (dans toutes les unités). Une règle clairsemée a un sous-ensemble de ces marques. Une règle peut mesurer la distance k si elle a des marques aux positions p et q avec p - q = k .
Le défi
Étant donné un entier positif n , sortez le nombre minimum de marques requises dans une règle clairsemée de longueur n afin qu'il puisse mesurer toutes les distances 1, 2, ..., n .
Il s'agit d' OEIS A046693 .
Par exemple, pour l'entrée 6, la sortie est 4. À savoir, une règle avec des marques à 0, 1, 4, 6 fonctionne, car 1−0 = 1, 6−4 = 2, 4−1 = 3, 4−0 = 4, 6−1 = 5 et 6−0 = 6.
Règles supplémentaires
- L'algorithme doit être valide pour un n arbitrairement grand . Cependant, il est acceptable si le programme est limité par des restrictions de mémoire, de temps ou de type de données.
- Les entrées / sorties peuvent être prises / produites par tout moyen raisonnable .
- Les programmes ou fonctions sont autorisés, dans n'importe quel langage de programmation . Les failles standard sont interdites.
- Le code le plus court en octets gagne.
Cas de test
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
Réponses:
Gelée , 14 octets
Un lien monadique prenant et retournant des entiers non négatifs.
Essayez-le en ligne! (15 premières valeurs ici - pas efficace)
Comment?
Trouve toutes les règles que l'on pourrait faire en utilisant les marques 1 à n + 1 (l'ensemble de puissance de [1, n + 1]) ordonnées par leur nombre de marquages, et ne conserve que celles qui créent des distances mesurables maximales (la longueur du ensemble de différences entre toutes les paires de marques ordonnées), puis renvoie la longueur de la première (c'est-à-dire [l'une des] les plus courtes [s]).
la source
Wolfram Language (Mathematica) , 65 octets
Essayez-le en ligne!
la source
Mathematica, 84 octets
Essayez-le en ligne!
la source
Pyth , 14 octets
Essayez-le ici!
Pyth ,
2119 octetsEssayez-le ici!
Comment ça fonctionne
Je mettrai cela à jour après avoir joué au golf.
Merci à isaacg d' avoir enregistré un octet pour ma deuxième approche et de m'avoir inspiré à jouer au golf à 3 octets de mon approche actuelle!
la source
S
n'est pas nécessaire.Python 2 ,
129128126 126 octetsMerci à totalement humain pour -1 octet
Essayez-le en ligne!
la sortie se fait via le code de sortie
la source
Coque ,
2018 octetsMerci @ H.PWiz pour -2 octets!
Essayez-le en ligne!
Explication
la source
oa-
est le même que≠
≈
.Gelée , 17 octets
Essayez-le en ligne!
1 octet enregistré grâce à Jonathan Allan !
la source
ḢL
devrait aller ..Pyth, 15 octets
Suite de tests
Comment ça fonctionne
la source
Gelée , 17 octets
Essayez-le en ligne!
J'ai emprunté une astuce à la réponse de M. Xcoder pour -1.
-1 merci à Jonathan Allan .
la source
ḢL
devrait aller ..Rubis , 98 octets
Essayez-le en ligne!
la source