nEntwerfen Sie bei einer positiven Ganzzahl einen Winkelmesser mit der geringsten Anzahl von Markierungen, mit dem Sie alle Winkel messen können, die ein ganzzahliges Vielfaches von 2π/n(jeweils in einer Messung) sind.
Einzelheiten
Als Ausgabe können Sie eine Liste von Ganzzahlen im Bereich 0bis n-1(oder 1bis n) ausgeben , die die Position jeder Marke darstellen. Alternativ können Sie eine Zeichenfolge / Liste nmit einer Länge #an der Position jeder Marke und einem _(Unterstrich) ausgeben, wenn keine vorhanden ist. (Oder zwei verschiedene Zeichen , wenn bequemer.)
Beispiel: Für n = 5Sie müssen genau drei Marken der Lage sein , alle Winkel zu messen , 2π/5, 4π/5, 6π/5, 8π/5, 2πindem (zum Beispiel) eine Markierung an 0, eine Markierung an 2π/5und eine Markierung an 6π/5. Wir können dies als Liste [0,1,3]oder als Zeichenfolge codieren ##_#_.

Beispiele
Beachten Sie, dass die Ausgaben nicht unbedingt eindeutig sind.
n: output:
1 [0]
2 [0,1]
3 [0,1]
4 [0,1,2]
5 [0,1,2]
6 [0,1,3]
7 [0,1,3]
8 [0,1,2,4]
9 [0,1,3,4]
10 [0,1,3,6]
11 [0,1,3,8]
20 [0,1,2,3,6,10]
PS: Dies ähnelt dem Problem mit dem spärlichen Lineal , aber anstelle einer linearen Skala (mit zwei Enden) wird eine kreisförmige (eckige) Skala betrachtet.
PPS: Dieses Skript sollte jeweils ein Beispiel für eine Reihe von Markierungen berechnen n. Probieren Sie es online!
PPPS: Wie @ngn hervorhob, entspricht dieses Problem dem Auffinden einer minimalen Differenzbasis einer zyklischen Ordnungsgruppe n. Die Mindestbestellmengen sind unter http://oeis.org/A283297 aufgeführt, und einige theoretische Grenzen finden Sie unter https://arxiv.org/pdf/1702.02631.pdf