OFFSET
1,5
COMMENTS
From Bernard Schott, Sep 22 2022: (Start)
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
Chai Wah Wu, Table of n, a(n) for n = 1..10000
The IMO Compendium, Problem 1, 30th IMO 1989.
E. Mendelsohn and P. Rodney, The existence of court balanced tournament designs, Discrete Mathematics, 133 (1994), 207-216.
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).
a(2n) = A000005(2n-1)-1 for n > 1. - Chai Wah Wu, Oct 29 2016
a(1) = 0; a(2n+1) = A183063(2n) for n > 0 - Bernard Schott, Sep 22 2022
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
def A277692(n):
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
Andrew G. McEachern, Oct 27 2016
STATUS
approved