login
a(0)=0, a(n+1) = (a(n) XOR floor(a(n)/8)) + 1, where XOR is the bitwise exclusive-or operator.
0

%I #14 Jun 26 2021 21:42:21

%S 0,1,2,3,4,5,6,7,8,10,12,14,16,19,18,17,20,23,22,21,24,28,32,37,34,39,

%T 36,33,38,35,40,46,44,42,48,55,50,53,52,51,54,49,56,64,73,65,74,68,77,

%U 69,78,72,66,75,67,76,70,79,71,80,91,81,92,88,84,95

%N a(0)=0, a(n+1) = (a(n) XOR floor(a(n)/8)) + 1, where XOR is the bitwise exclusive-or operator.

%C Para-random values on each interval (2^k,2^(k+1)-1), then jump to the next interval (2^(k+1),2^(k+2)-1).

%C Floor(100*log_2(indices of 2^x)):

%C 0, 100, 200, 300, 358, 445, 542, 642, 708, 752, 898, 985, 1042, 1176, 1245, 1319, 1462, 1521, 1588, 1714, 1809, 1906, 1963, 2049, 2149, 2260, 2402, 2481, 2553, 2657, 2770, 2835, 2929, 3004, 3164, 3281, 3346, 3472, 3557, 3646, 3694, 3801, 3935, 4027, 4135, 4214, 4294, 4415

%C Given a(n), the previous term a(n-1) can be unambiguously reconstructed as in the C program.

%C As n -> infinity, a(n) -> infinity.

%o (C)

%o #include <stdio.h>

%o int main(int argc, char **argv) {

%o unsigned long long a=0;

%o for (int j=0; j<1000; ++j) {

%o printf("%llu, ", a);

%o a = (a^(a/8)) + 1;

%o }

%o return 0; // indices of 2^x: see C program of A182310.

%o } // from _Alex Ratushnyak_, Apr 27 2012

%o (PARI)

%o N=100; v=vector(N);

%o for (n=1, N-1, v[n+1] = bitxor( v[n], v[n] \ 8 ) + 1 );

%o v /* show terms */

%o /* _Joerg Arndt_, Apr 28 2012 */

%Y Cf. A182310, A182417, A182418

%K nonn,base

%O 0,3

%A _Alex Ratushnyak_, Apr 27 2012