Использование JavaScript / jQuery для генерации светильников - PullRequest
2 голосов
/ 22 сентября 2009

Я собираю инструмент для коллеги, который помогает создать хороший список приборов. Я получил около 2/3 через инструмент, собирая различные данные ... и затем я ударил кирпичную стену. Это не проблема JavaScript, а математический блок.

Допустим, у меня 4 команды, и все они должны играть друг с другом дома и в гостях. С помощью этого инструмента - http://www.fixturelist.com/ - я вижу, что домашний и выездной матч с 4 командами займет 6 недель / раундов / что угодно. Впрочем, я не могу понять, как это было программно разработано.

Может кто-нибудь объяснить логику для обработки этого?

Для информации, я бы использовал этот существующий инструмент, но есть и другие факторы / функции, с которыми мне нужно работать, следовательно, выполнять пользовательскую работу. Если бы я только мог понять, как представить эту логику!

1 Ответ

0 голосов
/ 22 сентября 2009

В вашем примере 4 команды, назовите их a, b, c и d:

  • a должен играть b, c, d
  • b должен играть c, d (игра против уже включенных в игры a)
  • c должен играть в d (игра против уже включенных в игры a, против b, уже включенных в игры b)

Если им нужно играть дома и в гостях, это 12 игр. Вы можете играть максимум 4/2 = 2 игры в неделю, то есть 6 недель.

С n командами вам нужно x игр, где:

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

Это занимает y недель, где:

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

Это можно легко упростить с помощью арифметического ряда или вычислить с помощью цикла for, если хотите.

...