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