A332782 a(n) = (a(n-1) XOR a(n-5)) + 1, a(0) = a(1) = a(2) = a(3) = a(4) = 0.
0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 5, 8, 12, 9, 13, 9, 2, 15, 7, 11, 3, 2, 14, 10, 2, 2, 1, 16, 27, 26, 25, 25, 10, 18, 9, 17, 9, 4, 23, 31, 15, 7, 4, 20, 12, 4, 4, 1, 22, 27, 32, 37, 37, 52, 48, 17, 53, 17, 38, 23, 7, 51, 35, 6, 18, 22, 38, 6, 1, 20, 3, 38, 33, 33, 54, 54, 17, 49
Offset: 0
Examples
a(5) = (a(4) XOR a(0)) + 1 = (0 XOR 0) + 1 = 0 + 1 = 1. a(6) = (a(5) XOR a(1)) + 1 = (1 XOR 0) + 1 = 1 + 1 = 2. a(10) = (a(9) XOR a(5)) + 1 = (101_2 XOR 001_2) + 1 = 100_2 + 1 = 101_2 = 5_10.
Links
- Alois P. Heinz, Table of n, a(n) for n = 0..65536.
- G. Marsaglia, Xorshift RNGs, Journal of Statistical Software, Vol. 8, Issue 14, Jul 2003.
- Wikipedia, Bitwise operation (XOR).
- Wikipedia, Linear-feedback shift register.
- Wikipedia, Xorshift.
Programs
-
Maple
a:= proc(n) option remember; `if`(n<5, 0, Bits[Xor](a(n-1), a(n-5))+1) end: seq(a(n), n=0..80); # Alois P. Heinz, Mar 09 2020
-
Mathematica
Nest[Append[#, 1 + BitXor @@ #[[{-1, -5}]] ] &, ConstantArray[0, 5], 75] (* Michael De Vlieger, Feb 23 2020 *)
-
Python
feedback_delay = 4 a = [0 for i in range(feedback_delay+1)] for i in range(feedback_delay,100): a.append((a[i]^a[i-feedback_delay])+1)
Comments