質問

私は同僚のために、素敵な備品リストを作成するのに役立つツールをまとめています。ツールを使って色々なデータを集めて2/3くらいはできました…。そして私はレンガの壁にぶつかった。これは JavaScript の問題というよりは、数学/処理の頭のブロックです。

4 つのチームがあり、すべてのチームがホームとアウェイで対戦する必要があるとします。このツールを使用する - http://www.fixturelist.com/ - 4 チームによるホーム&アウェイの試合には 6 週間/ラウンド/何でもかかることがわかります。しかし、それがどのようにプログラム的に実現されたのかは、一生わかりません。

誰かがこれを処理するロジックを説明できますか?

参考までに、この既存のツールを使用しますが、作業する必要がある他の要素/機能があるため、カスタム ジョブを実行します。そのロジックを表現する方法を理解できればいいのですが!

役に立ちましたか?

解決

4 つのチームの例では、それらを a、b、c、d と呼びます。

  • aはb、c、dをプレイしなければなりません
  • b は c、d をプレイしなければなりません (a のゲームに既に含まれている a とのゲーム)
  • c は d をプレイしなければなりません(a のゲームにすでに含まれている 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 ループを使用して計算することもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top