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.

A171898 Forward van Eck transform of A181391.

Original entry on oeis.org

1, 2, 6, 2, 2, 5, 1, 6, 42, 5, 2, 4, 5, 9, 14, 3, 9, 3, 15, 2, 4, 6, 17, 3, 6, 32, 56, 5, 3, 131, 5, 11, 5, 3, 20, 6, 2, 8, 15, 31, 170, 3, 31, 18, 3, 3, 33, 5, 1, 11, 46, 56, 4, 37, 152, 307, 3, 7, 92, 4, 7, 62, 52, 3, 42, 3, 6, 2, 19, 6, 8, 3, 9, 3, 650, 2, 23, 8, 223, 7, 206, 3, 21, 25, 5, 8
Offset: 1

Views

Author

N. J. A. Sloane, Oct 22 2010

Keywords

Comments

Given a sequence a, the forward van Eck transform b is defined as follows: If a(n) also appears again in a later position, let a(m) be the next occurrence, and set b(n)=m-n; otherwise b(n)=0.
This is a permutation of the positive terms in A181391, where each term m > 0 from that sequence is shifted backwards m+1 positions. - Jan Ritsema van Eck, Aug 16 2019
The backwards van Eck transform searches backwards for a repeated value: if a(n) also has appeared in earlier positions, a(m)=a(n) with mR. J. Mathar, Jun 24 2021

Crossrefs

Cf. A181391 (van Eck's sequence), A171899, A171942.

Programs

  • Maple
    ECKf:=proc(a) local b,i,m,n;
    if whattype(a) <> list then RETURN([]); fi:
    b:=[];
    for n from 1 to nops(a)-1 do
    # does a(n) appear again?
    m:=0;
    for i from n+1 to nops(a) do
    if (a[i]=a[n]) then m:=i-n; break; fi
    od:
    b:=[op(b),m];
    od:
    b:=[op(b),0];
    RETURN(b);
    end:
  • Mathematica
    terms = 100;
    m = 14 terms; (* Increase m until no zero appears in the output *)
    ClearAll[b, last]; b[] = 0; last[] = -1; last[0] = 2; nxt = 1;
    Do[hist = last[nxt]; b[n] = nxt; last[nxt] = n; nxt = 0; If[hist > 0, nxt = n - hist], {n, 3, m}];
    A181391 = Array[b, m];
    ECKf[a_List] := Module[{b = {}, i, m, n}, For[n = 1, n <= Length[a]-1, n++, m = 0; For[i = n+1, i <= Length[a], i++, If[a[[i]] == a[[n]], m = i-n; Break[]]]; b = Append[b, m]]; b = Append[b, 0]; Return[b]];
    ECKf[A181391][[;; terms]] (* Jean-François Alcover, Oct 30 2020, after Maple *)

Formula

From Jan Ritsema van Eck, Aug 16 2019: (Start)
A181391(i+a(i)+1) = a(i) for any i, a(i)>0.
Conversely, a(j-A181391(j)-1) = A181391(j) for any j, A181391(j)>0. (End)