Question

Je prépare un outil pour un collègue qui permet de créer une liste de montage agréable. Je suis arrivé environ 2/3 à travers l'outil, la collecte de diverses données ... puis je frappe un mur de briques. Il est moins d'un problème Javascript et plus d'un math / traitement brainblock.

Disons que j'ai 4 équipes, et ils ont tous besoin de jouer les uns les autres à la maison et loin. Grâce à cet outil - http://www.fixturelist.com/ - Je peux voir que la maison et loin match avec 4 équipes prendrait 6 semaines / tours / whatever. Pour la vie de moi, cependant, je ne peux pas travailler sur la façon qui a été programme a fonctionné.

Quelqu'un peut-il expliquer la logique de traiter ce sujet?

Pour info, je voudrais utiliser cet outil existant, mais il y a d'autres facteurs / caractéristiques que je dois travailler, faire donc un travail personnalisé. Si seulement je pouvais comprendre comment représenter cette logique!

Était-ce utile?

La solution

Dans votre exemple de 4 équipes, les appeler a, b, c et d:

  • un doit jouer b, c, d
  • b doit jouer c, d (match contre déjà inclus dans les jeux a)
  • c doit jouer d (match contre déjà inclus dans les jeux a, contre b déjà inclus dans les jeux de b)

S'ils ont besoin pour jouer à la maison et loin, c'est 12 jeux. Vous pouvez jouer au plus 4/2 = 2 jeux par semaine, de sorte que est de 6 semaines.

Avec des équipes de n vous avez besoin jeux x, où:

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

Cela prend des semaines y, où:

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

Cela peut être simplifié avec une série arithmétique assez facilement, ou calculée avec une boucle si vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top