Les règles de Golomb sont des ensembles d'entiers non négatifs de sorte qu'il n'y a pas deux paires d'entiers dans l'ensemble à la même distance.
Par exemple, [0, 1, 4, 6]
est une règle de Golomb car toutes les distances entre deux entiers dans cet ensemble sont uniques:
0, 1 -> distance 1
0, 4 -> distance 4
0, 6 -> distance 6
1, 4 -> distance 3
1, 6 -> distance 5
4, 6 -> distance 2
Par souci de simplicité dans ce défi (et comme la traduction est triviale), nous imposons qu'une règle de Golomb contienne toujours le nombre0
(ce que fait l'exemple précédent).
Puisque cet ensemble est de longueur 4
, nous disons qu'il s'agit d'une règle d' ordre de Golomb 4
. La plus grande distance dans cet ensemble (ou élément, car il 0
est toujours dans l'ensemble) est 6
, donc nous disons qu'il s'agit d'une règle de Golomb de longueur 6
.
Ta tâche
Trouvez des règles d' ordre de Golomb 50
à 100
(inclus) qui ont des longueurs aussi petites que possible. Les règles que vous trouvez n'ont pas besoin d'être optimales (voir ci-dessous).
L'optimalité
Une règle d'ordre de Golomb N
est dite optimale s'il n'y a pas d'autre règle d'ordre de Golomb N
qui a une longueur plus petite.
Les règles optimales de Golomb sont connues pour les commandes inférieures à 28 , bien que trouver et prouver l'optimalité est de plus en plus difficile à mesure que la commande augmente.
Par conséquent, il n'est pas prévu que vous trouviez la règle de Golomb optimale pour l'un des ordres compris entre 50
et 100
(et encore moins attendu que vous puissiez prouver qu'ils sont optimaux).
Il n'y a pas de limite de temps dans l'exécution de votre programme.
Référence
La liste ci-dessous est la liste des longueurs de règles de Golomb de 50
à 100
(dans l'ordre) évaluées avec une stratégie de recherche naïve (Merci à @PeterTaylor pour cette liste):
[4850 5122 5242 5297 5750 5997 6373 6800 6924 7459 7546 7788 8219 8502 8729 8941 9881 10199 10586 10897 11288 11613 11875 12033 12930 13393 14046 14533 14900 15165 15687 15971 16618 17354 17931 18844 19070 19630 19669 20721 21947 22525 23290 23563 23880 24595 24767 25630 26036 26254 27218]
La somme de toutes ces longueurs est 734078
.
Notation
Votre score sera la somme des longueurs de tous vos chefs de Golomb entre 50
et 100
, divisé par la somme des longueurs des règles de Golomb entre 50
et 100
dans la ligne de base: 734078
.
Si vous n'avez pas trouvé de règle de Golomb pour un ordre spécifique, vous devez calculer votre score de la même manière, en utilisant le double de la longueur dans la ligne de base pour cet ordre spécifique.
La réponse avec le score le plus bas l'emporte.
En cas d'égalité, les longueurs de l'ordre le plus élevé où les deux réponses diffèrent sont comparées et la plus courte l'emporte. Dans le cas où les deux réponses ont les mêmes longueurs pour toutes les commandes, la réponse qui a été publiée en premier l'emporte.
n
est n(n-1)/2
, car c'est le nombre de différences positives. Par conséquent, le score le plus petit possible dans ce défi est 147050/734078 > 0.2003193
.