|
|
A053616
|
|
Pyramidal sequence: distance to nearest triangular number.
|
|
10
|
|
|
0, 0, 1, 0, 1, 1, 0, 1, 2, 1, 0, 1, 2, 2, 1, 0, 1, 2, 3, 2, 1, 0, 1, 2, 3, 3, 2, 1, 0, 1, 2, 3, 4, 3, 2, 1, 0, 1, 2, 3, 4, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,9
|
|
COMMENTS
|
If this sequence is written with offset 1 as a number triangle T(n, k), with n the length of row n, for n >= 1, then row n gives the primitive period of the periodic sequence {k (mod* n)}_{k>=0}, where k (mod* n) = k (mod n) if k <= floor(n/2) and otherwise it is -k (mod n). Such a modified modular relation mod* n has been used by Brändli and Beyne, but for integers relative prime to n.
These periodic sequences are given in A000007, A000035, A011655, A007877, |A117444|, A260686, A279316, for n = 1, 2, ..., 7. For n = 10 A271751, n = 12 A271832, n = 14 A279313. (End)
|
|
LINKS
|
|
|
FORMULA
|
a(n) = (x - |y - |x-y||)/2, when (x,y) is the n-th element in the triangle x >= y >= 1. - M. F. Hasler, Dec 06 2019
|
|
EXAMPLE
|
a(12) = |12 - 10| = 2 since 10 is the nearest triangular number to 12.
Ignoring a(0) = 0, the sequence can be written as triangle indexed by m >= k >= 1, in which case the terms are (m - |k - |m-k||)/2, as follows:
0, (Row 0: ignore)
0, (Row m=1, k=1: For k=m, m - |k - |m-k|| = m - |m - 0| = 0.)
1, 0, (Row m=2: for k=1, |m-k| = 1, k-|m-k| = 0, m-0 = 2, (...)/2 = 1.)
1, 1, 0,
1, 2, 1, 0, (Row m=4: for k=2, we have twice the value of (m=2, k=1) => 2.)
1, 2, 2, 1, 0,
(...)
This is related to the non-associative operation A049581(x,y) = |x - y| =: x @ y. Specifically, @ is commutative and any x is its own inverse, so non-associativity of @ can be measured through the commutator ((x @ y) @ y) @ x which equals twice the element indexed {m,k} = {x,y} in the above triangle.
(End)
|
|
MATHEMATICA
|
a[n_] := (k =.; k = Reduce[k > 0 && k*(k+1)/2 == n, Reals][[2]] // Floor; Min[(k+1)*(k+2)/2 - n, n - k*(k+1)/2]); Table[a[n], {n, 0, 104}] (* Jean-François Alcover, Jan 08 2013 *)
Module[{trms=120, t}, t=Accumulate[Range[Ceiling[(Sqrt[8*trms+1]-1)/2]]]; Join[{0}, Flatten[Table[Abs[Nearest[t, n][[1]]-n], {n, trms}]]]] (* Harvey P. Dale, Nov 08 2013 *)
|
|
PROG
|
(PARI) print1(x=0, ", "); for(stride=1, 13, x+=stride; y=x+stride+1; for(k=x, y-1, print1(min(k-x, y-k), ", "))) \\ Hugo Pfoertner, Jun 02 2018
(PARI) apply( {a(n)=if(n, -abs(n*2-(n=sqrtint(8*n-7)\/2)^2)+n)\2}, [0..40]) \\ same as (i - |j - |i-j||)/2 with i=sqrtint(8*n-7)\/2, j=n-i(i-1)/2. - M. F. Hasler, Dec 06 2019
(Python)
from math import isqrt
|
|
CROSSREFS
|
|
|
KEYWORD
|
easy,nice,nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|