Golomb-Lineale sind Mengen nicht negativer Ganzzahlen, sodass keine zwei Paare von Ganzzahlen in der Menge den gleichen Abstand voneinander haben.
Ist beispielsweise [0, 1, 4, 6]
ein Golomb-Lineal, weil alle Abstände zwischen zwei Ganzzahlen in dieser Menge eindeutig sind:
0, 1 -> distance 1
0, 4 -> distance 4
0, 6 -> distance 6
1, 4 -> distance 3
1, 6 -> distance 5
4, 6 -> distance 2
Der Einfachheit halber wird bei dieser Herausforderung (und da die Übersetzung trivial ist) vorausgesetzt , dass ein Golomb-Lineal immer die Zahl enthält0
(wie im vorherigen Beispiel).
Da diese Menge von Länge ist 4
, sagen wir, dass dies ein Golomb-Lineal der Ordnung ist 4
. Der größte Abstand in dieser Menge (oder Element, da 0
immer in der Menge) ist 6
, sagen wir daher, dass dies ein Golomb-Lineal der Länge ist 6
.
Deine Aufgabe
Finden Golomb Herrscher , um 50
zu 100
(einschließlich) , die so klein haben Längen , wie Sie finden können. Die gefundenen Lineale müssen nicht optimal sein (siehe unten).
Optimalität
Ein Golomb-Ordnungslineal N
gilt als optimal, wenn es kein anderes Golomb-Ordnungslineal N
mit geringerer Länge gibt.
Optimale Golomb-Lineale sind für Befehle unter 28 bekannt , obwohl es mit zunehmender Reihenfolge immer schwieriger wird, Optimalität zu finden und zu beweisen.
Daher wird nicht erwartet, dass Sie das optimale Golomb-Lineal für eine der Anweisungen zwischen 50
und finden 100
(und noch weniger erwartet, dass Sie nachweisen können, dass sie optimal sind).
Die Ausführung Ihres Programms ist zeitlich unbegrenzt.
Grundlinie
Die folgende Liste enthält die Längen der Golomb-Lineale von 50
bis 100
(in der Reihenfolge), die mit einer naiven Suchstrategie ausgewertet wurden (Dank an @PeterTaylor für diese 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]
Die Summe all dieser Längen ist 734078
.
Wertung
Ihre Punktzahl ist die Summe der Längen aller Ihren Golomb Herrschers zwischen 50
und 100
geteilt durch die Summe der Längen von Golomb Herrschern zwischen 50
und 100
in der Basislinie: 734078
.
Falls Sie für eine bestimmte Reihenfolge kein Golomb-Lineal gefunden haben, berechnen Sie Ihre Punktzahl auf die gleiche Weise, indem Sie das Doppelte der Länge in der Grundlinie für diese bestimmte Reihenfolge verwenden.
Die Antwort mit der niedrigsten Punktzahl gewinnt.
Im Falle eines Gleichstands werden die Längen der größten Bestellung verglichen, bei denen sich die beiden Antworten unterscheiden, und die kürzeste gewinnt. Wenn beide Antworten für alle Bestellungen gleich lang sind, gewinnt die Antwort, die zuerst gesendet wurde.
n
ist n(n-1)/2
, da es so viele positive Unterschiede gibt. Daher ist die kleinstmögliche Punktzahl bei dieser Herausforderung 147050/734078 > 0.2003193
.