|
|
A277692
|
|
Mendelsohn-Rodney sequence: number of court balanced tournament designs that are available for a given set of teams n.
|
|
1
|
|
|
0, 1, 1, 1, 2, 1, 2, 1, 3, 2, 2, 1, 4, 1, 2, 3, 4, 1, 3, 1, 4, 3, 2, 1, 6, 2, 2, 3, 4, 1, 4, 1, 5, 3, 2, 3, 6, 1, 2, 3, 6, 1, 4, 1, 4, 5, 2, 1, 8, 2, 3, 3, 4, 1, 4, 3, 6, 3, 2, 1, 8, 1, 2, 5, 6, 3, 4, 1, 4, 3, 4, 1, 9, 1, 2, 5, 4, 3, 4, 1, 8, 4, 2, 1, 8, 3, 2, 3, 6, 1, 6, 3, 4, 3, 2, 3, 10, 1, 3, 5, 6, 1, 4, 1, 6, 7, 2, 1
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,5
|
|
COMMENTS
|
a(n+1) is the number of solutions (n, m) such that the set An = {1, 2, ..., n} can be expressed as the disjoint union of m subsets E1, E2, ..., Em that satisfy: (i) each Ei contains the same number of elements, and, (ii) the sum of elements of each Ei is the same for i = 1, 2, ..., m.
The 1st problem, proposed by Philippines, during the 30th International Mathematical Olympiad in 1989 at Braunschweig - Niedersachen (Brunswick), FR Germany, asked to prove there is a solution for n = 1989 and m = 117 (see Holton and IMO link) (End).
|
|
REFERENCES
|
Derek Holton, A First Step to Mathematical Olympiad Problems, Vol. 1, Mathematical Olympiad Series, World Scientific, 2010, & 8.3. PHIL 1 pp. 250-252 and & 8.11 Solutions pp 261-265.
|
|
LINKS
|
The IMO Compendium, Problem 1, 30th IMO 1989.
|
|
FORMULA
|
a(n) is the number of values of c that satisfy the following conditions: C(n,2) mod c = 0, and (n-1) mod c = 0, and 1 <= c <= floor(n/2).
|
|
EXAMPLE
|
For n = 9, c = 1, 2, 4 satisfy the conditions given in the formula, so a(n) = 3.
|
|
MATHEMATICA
|
{0}~Join~Table[Function[k, Count[Range@ k, c_ /; And[Divisible[n - 1, c], Divisible[Binomial[n, 2], c]] ]]@ Floor[n/2], {n, 2, 108}] (* Michael De Vlieger, Oct 27 2016 *)
|
|
PROG
|
(Python 3.5)
import scipy.stats
teams = 151
courtcount = []
i= 1
for j in range(1, teams):
t = 0
for i in range(1, int(j/2) + 1):
if j>1 and ((j*(j-1))/2)%i == 0 and (j-1)%i == 0:
t += 1
if j > 1:
courtcount.append(t)
a = 0
for p in courtcount:
if p == 1:
a+=1
print(courtcount)
(PARI) a(n) = #select(x->(!(binomial(n, 2) % x)) && !((n-1) % x), vector(n\2, k, k)); \\ Michel Marcus, Oct 27 2016
(Python)
from __future__ import division
from sympy import divisors
return sum(1 for c in divisors(n-1) if c < n-1 and not (n*(n-1)//2) % c) if n != 2 else 1 # Chai Wah Wu, Oct 29 2016
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|