Lassen Sie uns zunächst über Beatty-Sequenzen sprechen . Eine positive irrationale Zahl gegeben r , können wir eine unendliche Folge durch Multiplikation der positiven ganzen Zahlen konstruieren , r , um und unter dem Boden jeder resultierenden Berechnung. Beispielsweise,
Wenn r > 1, haben wir eine spezielle Bedingung. Wir können eine andere irrationale Zahl s als s = r / ( r - 1) bilden. Dies kann dann seine eigene Beatty-Sequenz B s erzeugen . Die unverdünnte Trick ist , dass B r und B s sind komplementär , was bedeutet , dass jede positive ganze Zahl in genau einer der beiden Sequenzen ist.
Wenn wir r = ϕ, den goldenen Schnitt, setzen, erhalten wir s = r + 1 und zwei Spezialsequenzen. Die untere Wythoff-Sequenz für r :
1, 3, 4, 6, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25, 27, 29, ...
und die obere Wythoff-Sequenz für s :
2, 5, 7, 10, 13, 15, 18, 20, 23, 26, 28, 31, 34, 36, 39, 41, 44, 47, ...
Dies sind die Sequenzen A000201 und A001950 auf OEIS.
Die Herausforderung
Bei einer positiven Ganzzahl 1 <= n <= 1000
geben Sie einen von zwei unterschiedlichen Werten aus, die angeben, ob sich die Eingabe in der unteren Wythoff-Sequenz oder in der oberen Sequenz befindet. Die Ausgabewerte könnten -1
und 1
, true
und false
, upper
und lower
usw. sein.
Obwohl Ihr eingereichter Algorithmus theoretisch für alle Eingaben funktionieren muss, muss er in der Praxis nur mit den ersten 1000 Eingabenummern funktionieren.
I / O und Regeln
- Die Eingabe und Ausgabe kann durch jede bequeme Methode erfolgen .
- Es kann davon ausgegangen werden, dass die Eingabe und Ausgabe in den Native-Number-Typ Ihrer Sprache passt.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.