OFFSET
0,3
COMMENTS
Values where a(n) = n appear to be the values of A027941.
LINKS
FORMULA
a(n+1) = a(n) + I, if n >= a(n) ('I' is the next consecutive integer not yet added);
= a(n) - n, if n < a(n).
From Yan Sheng Ang, May 20 2020: (Start)
a(F(2*n)-1) = F(2*n) for n > 1;
a(F(2*n)) = 1;
a(F(2*n+1)-1) = F(2*n+1)-1 (as noted above);
a(F(2*n+1)) = F(2*n+2);
a(F(2*n+1)+1) = F(2*n) for n > 1.
(End)
EXAMPLE
For n = 0, a(0) = 0 0 >= a(0)
n = 1, a(1) = a(0) + 1 = 1, 1 >= a(1), I = 1
n = 2, a(2) = a(1) + 2 = 3, 2 < a(2), I = 2
n = 3, a(3) = a(2) - 2 = 1, 3 >= a(3)
n = 4, a(4) = a(3) + 3 = 4, 4 >= a(4), I = 3
n = 5, a(5) = a(4) + 4 = 8, 5 < a(5), I = 4
n = 6, a(6) = a(5) - 5 = 3, 6 >= a(6)
n = 7, a(7) = a(6) + 5 = 8, 7 < a(7), I = 5
n = 8, a(8) = a(7) - 7 = 1, 8 >= a(8)
n = 9, a(9) = a(8) + 6 = 7, 9 >= a(9), I = 6
n = 10, a(10)= a(9) + 7 = 14, 10< a(10), I = 7
n = 11, a(11)= a(10)- 10= 4, 11>= a(11)
n = 12, a(12)= a(11)+ 8 = 12, 12>= a(12), I = 8
.
.
.
PROG
(C)
#include<stdio.h>
void seq(int terms)
{int n = 0; int i = 0; int a = 0; int c = 0;
while (n <= terms)
{
if (c)
{int N = n - 1;
a -= N;
printf("%d\n", a); }
else
{a += i;
printf("%d\n", a);
i++; }
if (a > n)
{c = 1; }
else
{c = 0; }
n++;
}
}
int main(void)
{
seq(1000);
}
(PARI) v=k=0; for (n=0, 69, print1 (v, ", "); v=if (v>n, v-n, v+k++)) \\ Rémy Sigrist, Nov 06 2019
CROSSREFS
KEYWORD
AUTHOR
James Marjamaa, Nov 05 2019
STATUS
approved