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.

A301701 a(n) is the smallest positive integer m, with the property that n appears as a coefficient in the polynomial P_m(x) = (x-1)(x^2-1)...(x^m-1).

Original entry on oeis.org

3, 1, 4, 10, 12, 17, 16, 19, 20, 22, 22, 23, 24, 25, 25, 25, 24, 26, 26, 28, 27, 27, 29, 28, 28, 29, 29, 30, 28, 29, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 32, 33, 33, 33, 32, 33, 32, 33, 32, 33, 33, 36, 35, 33, 33, 36, 34, 34, 37, 35, 34, 37, 35, 34, 34, 35, 35, 35, 35
Offset: 0

Views

Author

Ovidiu Bagdasar, Mar 25 2018

Keywords

Comments

We conjecture that all integers appear as a coefficient of a polynomial P_m(x).
This property is known to hold for the cyclotomic polynomials.
The conjecture holds for the first 10^5 positive integers, with a maximum on those integers of a(99852) = 1921. - David A. Corneth, Apr 08 2018

Examples

			We have:
P_1(x) = x-1, hence a(1)=1.
P_2(x) = (x-1)*(x^2-1) = x^3-x^2-x+1;
P_3(x) = (x-1)*(x^2-1)*(x^3-1) = x^6-x^5-x^4+x^2+x-1;
P_4(x) = (x-1)*(x^2-1)*(x^3-1)*(x^4-1) = x^10 - x^9 - x^8+2x^5-x^2-x+1, hence a(2)=4.
n=3 first appears as a coefficient of P_{10}(x).
		

Crossrefs

Cf. A231599: a(n) is the index of the first row m containing number n.

Programs

  • Maple
    T:= proc(n) option remember; [(p-> seq(coeff(p, x, i),
        i=0..degree(p)))(expand(mul(1-x^i, i=1..n)))] end:
    a:= proc(n) local k; for k while not n in T(k) do od: k end:
    seq(a(n), n=0..70);  # Alois P. Heinz, Mar 29 2019
  • Mathematica
    With[{s = Array[CoefficientList[Times @@ Array[x^# - 1 &, #], x] &, 40]}, TakeWhile[Array[FirstPosition[s, #][[1]] &, Max@ Map[Max, s]], IntegerQ]] (* Michael De Vlieger, Apr 05 2018 *)
  • PARI
    a(n) = {my(k=1); while (!vecsearch(vecsort(Vec(prod(j=1, k, x^j-1))), n), k++); k;} \\ Michel Marcus, Apr 08 2018
    
  • PARI
    first(n) = {my(pol = [1], res = vector(n), todo = n+1, t = 0); while(1, t++; for(i = 1, #pol, if(0 < pol[i] && pol[i] <=n, if(res[pol[i]] == 0, res[pol[i]] = t-1; todo--; if(todo == 0, return(concat([3], res))))));  pol = concat(pol, vector(t)) - concat(vector(t), pol))} \\ David A. Corneth, Apr 08 2018

Extensions

Offset changed to 0 by David A. Corneth, Apr 08 2018