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