Re: Ten chess-players...
- To: mathgroup at smc.vnet.net
- Subject: [mg104241] Re: Ten chess-players...
- From: ADL <alberto.dilullo at tiscali.it>
- Date: Sun, 25 Oct 2009 01:04:21 -0400 (EDT)
- References: <hbu7nh$7g2$1@smc.vnet.net>
This is what I would do: nPlayers = 10; pairs = DeleteCases[ Flatten[Table[ If[i < j, {i, j}, Null], {i, nPlayers}, {j, nPlayers}], 1], Null ]; fact = MapThread[ Power, Transpose@FactorInteger[Length[pairs]] ]; Partition[pairs, Max@Nearest[fact, 5]] This fills a rectangular table in which the number of matches per day is chosen closest to 5 as a function of the total number of pairs. As far as I see, it works for any integer. ADL On Oct 24, 8:44 am, cmp... at gmail.com wrote: > Given 10 (1 to 10) chess-players, in one day they play 5 games (1-2, > 6-10, 5-7, 4-8, 3-9). > Then they need 8 more days to complete the championship (one gamer > must play one time against any other player): > 1-3, 2-10, 6-7, 5-8, 4-9 > 1-4, 2-3, 7-10, 6-8, 5-9 > 1-5, 2-4, 3-10, 7-8, 6-9 > 1-6, 2-5, 3-4, 7-9, 8-10 > 1-7, 2-6, 3-5, 4-10, 8-9 > 1-8, 2-7, 3-6, 4-5, 9-10 > 1-9, 2-8, 3-7, 4-6, 5-10 > 1-10, 2-9, 3-8, 4-7, 5-6 > > How can I get the 10*(10-1)/2 = 45 pairs distributed in the 9x5 > matrix? > What's about any other even number of players? > > Bruno