Votre tâche consiste à calculer les chances de gagner pour 2 joueurs dans un jeu, chacun avec sa propre cote ELO . Le joueur A a ELO R a et le joueur B a ELO R b
Le score attendu pour le joueur A (E a ) est: 1 / (1 + 10 (R b - R a ) / 400 ). Il existe une équation similaire pour le joueur B (E b ): 1 / (1 + 10 (R a - R b ) / 400 ).
Si vous voulez une version plus copiable: 1 / (1 + 10^((a-b) / 400))
E a + E b doit être égal à 1.
Par conséquent, le score d'un joueur est sa chance attendue de gagner un match, en décimal.
Votre programme / fonction doit prendre 2 entrées, ELO du joueur A et ELO du joueur B, et imprimer / retourner leurs chances respectives de gagner au format décimal. La sortie doit s'additionner à un et vous devez être précis à au moins 5 décimales ( 0.00000). Après 5 décimales, vous pouvez avoir des chiffres inexacts, à condition que les deux sorties s'ajoutent toujours à une.
Exemples:
1200 2100 -> 0.005591967 0.994408033
1 1 -> 0.5 0.5
60 20 -> 0.557312 0.442688
9999 9998 -> 0.501439 0.498561
9999 1 -> 0.999999 0.000001
Dans le dernier cas de test, certaines réponses utilisent l'exponentiation scientifique pour représenter la valeur. Ce n'est pas valable.
Vous pouvez voir dans le cas de test 3 ici que ce 0.557312n'est pas tout à fait précis, car le 2devrait être un 1, mais c'est très bien car il est après cinq décimales et les sorties s'ajoutent toujours à un.
Ceci est un exemple de sortie non valide:
9999 9998 -> 0.5014391117091516, 0.49856088829084844
Il semble que cela satisfasse les exigences à première vue, mais les chiffres s'additionnent 1.00000000000000004et donc la sortie n'est pas valide.
La fin des zéros dans la sortie est correcte.
Vous pouvez supposer que l'ELO d'un joueur sera toujours supérieur à 0 et que personne n'aura un ELO supérieur à 9999.
Le format d'entrée et de sortie est flexible, mais l'entrée et la sortie doivent toujours être en base 10.
Comme il s'agit de code-golf , la réponse avec le nombre d'octets le plus bas gagnera!
[9999, 998]lequel la plupart des réponses semblent échouer.
9999, 1y compris la mienne, donc je ne peux pas la poster :-(