Jeder Spieler hat eine Nummer. Kann deins am weitesten von allen entfernt sein?
Bedarf
Schreiben Sie eine Java-, Python 2- oder Ruby-Funktion mit dem Namen choose()
, die drei Argumente akzeptiert:
- eine ganze Zahl - die Anzahl der bereits abgeschlossenen Runden
- eine ganze Zahl - die Anzahl der Spieler
- eine Reihe von Zeichenfolgen - die Ergebnisse jeder vorherigen Runde
- Jede Zeichenfolge ist eine durch Leerzeichen getrennte Liste von Ganzzahlen, die vom niedrigsten zum höchsten Wert sortiert sind
Zum Beispiel choose(2, 4, ["4 93 93 174", "1 84 234 555"])
bedeutet:
- Es gab bereits zwei Runden (dies ist die dritte Runde)
- Es gibt insgesamt vier Spieler
- In der ersten Runde wurden die Zahlen 4, 93, 93, 174 gewählt
- In der zweiten Runde wurden die Zahlen 1, 84, 234, 555 gewählt
Sie müssen eine ganze Zahl von 1 bis 999 (einschließlich) zurückgeben.
Für jeden anderen Spieler ist Ihre Punktzahl die Quadratwurzel des Abstandes zwischen Ihrer und ihrer Zahl. Ihre Punktzahl für die Runde ist die Summe aller dieser Punkte.
Es werden 100 Runden gespielt. Die höchste Gesamtpunktzahl gewinnt!
Regeln
- Ihr Code verwendet möglicherweise keine E / A, einschließlich Konsole, Dateien, Netzwerk usw.
- Sie dürfen weder das Steuerungsprogramm noch andere Spieler stören.
- Programme, die gegen die oben genannten Regeln verstoßen, werden ausgeschlossen.
- Jeder Aufruf einer Funktion sollte auf meinem Computer (Intel Core i5 2450M mit 8 GB RAM) weniger als fünf Sekunden dauern.
- Wenn ein Programm eine Ausnahme auslöst oder einen ungültigen Wert zurückgibt, wird es so behandelt, als ob es 1 zurückgibt.
- Jeder Benutzer darf höchstens ein Programm einreichen.
Sonstiges
- Das Steuerungsprogramm ist auf GitHub .
- Es gibt drei eingebaute Spieler. Sie können in dieser Antwort gefunden werden .
- Der Gewinner wird am 28. Januar ermittelt.
Bestenliste
Der Gewinner ist Conservator .
Lobende Erwähnung an Gustav , den Spieler mit der höchsten Punktzahl und einer nicht konstanten Strategie.
- Konservator - 36226
- Hoch - 36115
- FloorHugger - 35880
- NumberOne - 35791
- Overestimator - 35791
- Gustav - 35484
- Historiker - 35201
- Sampler - 34960
- Inkrementierer - 34351
- JumpRightIn - 34074
- Vickrey - 34020
- Teenager - 33907
- Randu - 33891
- Gewichtheber - 33682
- Middleman - 33647
- BounceInwards - 33529
- NastyMathematician - 33292
- Jumper - 33244
- Nachahmer - 33049
Die vollständigen Ergebnisse finden Sie hier . (Ich empfehle, den Zeilenumbruch zu deaktivieren.)