Pregunta

Estoy armando una herramienta para un colega que ayuda a crear un calendario de partidos agradable. Tengo alrededor de 2/3 a través de la herramienta, recoger diversos datos ... y luego me golpeó una pared de ladrillos. Es un problema menor JavaScript y más de un brainblock matemáticas / procesamiento.

Digamos que tengo 4 equipos, y todos ellos necesitan para jugar entre sí en casa y fuera. El uso de esta herramienta - http://www.fixturelist.com/ - Puedo ver que una casa y fuera luminaria con 4 equipos tomaría 6 semanas / rondas / lo que sea. Porque la vida de mí, sin embargo, no puedo encontrar la manera de que se programación funcionó.

Puede alguien explicar la lógica para procesar esto?

Para obtener información, me gustaría utilizar esta herramienta existente, pero hay otros factores / características que necesito para trabajar, por lo tanto, hacer un trabajo personalizado. Si tan sólo pudiera entender cómo representar esa lógica!

¿Fue útil?

Solución

En el ejemplo de 4 equipos, los llaman a, b, cyd:

  • a tiene que desempeñar b, c, d
  • b tiene que jugar c, d (partido contra un ya incluido en los juegos de a)
  • c tiene que desempeñar d (partido contra un ya incluido en los juegos de a, b en contra ya incluido en los juegos de b)

Si tienen que jugar en casa y fuera, eso es 12 juegos. Puede jugar en la mayoría de 4/2 = 2 juegos a la semana, por lo que es de 6 semanas.

Con equipos n necesita juegos x, donde:

x = ((n-1 + n-2 + n-3 ...) * 2)

Esto lleva semanas y, donde:

y = x/(n/2) = 2x/n

Esto se puede simplificar con una serie aritmética con bastante facilidad, o se calcula con un bucle si lo desea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top