cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A244656 Least product of consecutive positive integers which is divisible by each of 1, 2, ..., n.

Original entry on oeis.org

2, 2, 6, 12, 60, 60, 420, 840, 2520, 2520, 55440, 55440, 360360, 360360, 360360, 2162160, 85765680, 85765680, 33522128640, 33522128640, 33522128640, 33522128640, 19275223968000, 19275223968000, 19275223968000
Offset: 1

Views

Author

Rick L. Shepherd, Jul 03 2014, Sep 14 2014

Keywords

Comments

For n > 1, clearly a(n) is bounded below by lcm(1,2,...,n) and bounded above by n!. Further, a(n) is a positive multiple of lcm(1,2,...,n). Any product of two or more consecutive positive integers may be expressed as m!/k!, where 0 <= k <= m-2. For this sequence, the m corresponding to a(n) may or may not be a multiple of n. Whenever a(n) can be expressed as the product of exactly two consecutive integers, it is a term of A002378. See the a-file link for further comments.

Examples

			a(7) = 20*21 = 21!/19! = 420 because 420 is divisible by 1, 2, 3, 4, 5, 6, and 7, and no positive integer less than 420 is divisible by each of these. Here, 420 = lcm(1,2,3,4,5,6,7). 420 is an oblong (or promic) number (A002378).
a(11) = 7*8*9*10*11 = 11!/6! = 55440. Here, 27720 = lcm(1,2,3,4,5,6,7,8,9,10,11), but 27720 cannot be represented as a product of consecutive positive integers.
a(31) = 6081487775*6081487776 = 36984493563555938400, also a promic number.
		

Crossrefs

Programs

  • PARI
    {a(n) =
    local(L, M, i, k = 0, s = 0, ret = 0, d, divs2,
       st, pr, prt = 1); /* Use prt = 0 to suppress printing. */
    if(n < 1, return, if(n < 3, ret = 2,
    L = lcm(vector(n, i, i));
    M = n!/L;
    while(k < M,
       k++;
       s += L; d = divisors(s); divs2 = #d \ 2;
       st = 2; pr = d[st];
       i = 0;
       while(st + i <= divs2,
          if(d[st + i + 1] == d[st + i] + 1,
             pr *= d[st + i + 1]; i++;
             if(pr == s,
                if(prt,
                   print1("k*L = ", k, "*", L, " = ",
                     s, " = ", d[st], "*");
                   if(d[st + i] > d[st] + 2, print1("...*"),
                     if(d[st + i] == d[st] + 2,
                       print1(d[st] + 1, "*")));
                   print(d[st + i], " = ", d[st + i], "!/",
                     d[st] - 1, "!"));
                ret = s; break(2),
                if(pr > s, st++; pr = d[st]; i = 0)),
             if(pr < s, st += i + 1, st++); pr = d[st]; i = 0)))));
    return(ret)}