Su tarea es calcular la probabilidad esperada de ganar para 2 jugadores en algún juego, cada uno con su propia calificación ELO . El jugador A tiene ELO R a y el jugador B tiene ELO R b
El puntaje esperado para el Jugador A (E a ) es: 1 / (1 + 10 (R b - R a ) / 400 ). Hay una ecuación similar para el jugador B (E b ): 1 / (1 + 10 (R a - R b ) / 400 ).
Si quieres una versión más copiable: 1 / (1 + 10^((a-b) / 400))
E a + E b debe ser igual a 1.
Por lo tanto, el puntaje para un jugador es su probabilidad esperada de ganar algún partido, en decimal.
Su programa / función debe tomar 2 entradas, ELO del jugador A y ELO del jugador B, e imprimir / devolver sus respectivas posibilidades de ganar en formato decimal. La salida debe sumar uno, y debe tener una precisión de al menos 5 decimales ( 0.00000
). Después de 5 decimales, es posible que tenga dígitos inexactos, siempre que las dos salidas sigan sumando una.
Ejemplos:
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
En el caso de prueba final, algunas respuestas usan exponenciación científica para representar el valor. Esto no es valido.
Puede ver aquí en el caso de prueba 3 que 0.557312
no es del todo exacto, porque 2
debería ser un 1
, pero esto está bien porque es después de cinco decimales y las salidas aún suman uno.
Este es un ejemplo de salida no válida:
9999 9998 -> 0.5014391117091516, 0.49856088829084844
Parece que satisface los requisitos a primera vista, pero los números se suman 1.00000000000000004
y, por lo tanto, la salida no es válida.
Los ceros finales en la salida están bien.
Puede suponer que el ELO de un jugador siempre será mayor que 0, y nadie tendrá un ELO mayor que 9999.
El formato de entrada y salida es flexible, pero la entrada y la salida aún deben estar en la base 10.
Como se trata de código de golf , ¡la respuesta con el recuento de bytes más bajo ganará!
[9999, 998]
que la mayoría de las respuestas parecen fallar.
9999, 1
incluir la mía, por lo que no puedo publicarlo :-(