Ceci est basé sur ce défi et l'idée de Geobits / CarpetPython de l'améliorer:
Pour ce défi, la distance entre deux nombres est mesurée sur une boucle, donc, par exemple, la distance entre 0 et 999 est 1. Cela devrait empêcher des stratégies comme de toujours choisir le numéro le plus bas ou le plus élevé de gagner presque à chaque fois. Le seul autre changement est que le nombre le plus bas qui peut être choisi est désormais 0 au lieu de 1.
Je vais le résumer ici:
- Écrivez une fonction en Java, Python ou Ruby qui prend trois arguments:
- le nombre de tours joués jusqu'à présent
- le nombre de joueurs
- les nombres choisis dans les tours précédents, comme un tableau de chaînes séparées par des espaces
- Il doit renvoyer un entier de 0 à 999, inclus
- Le score d'un programme à chaque tour est la somme des racines carrées des distances par rapport aux nombres choisis par chaque autre programme
- Le programme avec le score le plus élevé après 100 rounds gagne.
- Une réponse par personne
Le programme de contrôle est ici:
https://github.com/KSFTmh/src/
Classement
NumberOne, de TheBestOne, gagne.
- NumberOne - 9700
- NumberOnePlusFourNineNine - 9623
- AncientHistorian - 9425
- FindCampers - 9259
- WowThisGameIsSoDeep - 9069
- Échantillonneur - 9014
- SabotageCampers - 8545
Apparemment, mon sabotage de campeur ... euh (?) Ne fonctionne pas très bien.
Voici les résultats complets: https://github.com/KSFTmh/src/blob/master/results-3
Je pense que c'est assez différent pour ne pas être un doublon.
Au fait, c'est la première fois que je pose une question sur Stack Exchange, alors faites-moi savoir si je fais quelque chose de mal.