login
a(n) is the number of distinct lengths between consecutive points of the Farey sequence of order n.
0

%I #31 Jul 16 2022 12:04:18

%S 1,1,2,3,5,6,9,11,14,15,21,23,29,31,34,38,48,49,59,63,67,71,83,86,97,

%T 100,110,115,132,133,150,158,165,169,182,187,208,213,222,228,252,254,

%U 280,287,297,304,331,337,362,367,379,387,418,423,437,450,464,472,509,513,548,556,573,589,608,611,652,665,681,685

%N a(n) is the number of distinct lengths between consecutive points of the Farey sequence of order n.

%C The Farey sequence of order n (row n of A006842/A006843) is the set of points x/y on the unit line where 1 <= y <= n and 0 <= x <= y.

%e For n=5, the Farey sequence (completely reduced fractions) is [0/1, 1/5, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 1/1]. The distinct lengths between consecutive points are {1/5, 1/20, 1/12, 1/15, 1/10} so a(5) = 5.

%t a[n_] := FareySequence[n] // Differences // Union // Length;

%t Table[a[n], {n, 1, 70}] (* _Jean-François Alcover_, Jul 16 2022 *)

%o (Python)

%o from fractions import Fraction

%o from itertools import chain

%o def compute(n):

%o marks = [[(a, b) for a in range(0, b + 1)] for b in range(1, n + 1)]

%o marks = sorted(set([Fraction(a, b) for a, b in chain(*marks)]))

%o dist = [(y - x) for x, y in zip(marks, marks[1:])]

%o return len(set(dist))

%o (PARI) vp(n) = my(list = List()); for (k=1, n, for (i=0, k, listput(list, i/k))); vecsort(list,,8);

%o a(n) = my(v=vp(n)); #Set(vector(#v-1, k, abs(v[k+1]-v[k]))); \\ _Michel Marcus_, Jul 10 2022

%Y Cf. A006842/A006843 (Farey sequences).

%Y Cf. A005728 (number of distinct points).

%K nonn

%O 1,3

%A _Travis Hoppe_, Jul 09 2022