A332781 a(n) = (a(n-1) XOR a(n-4)) + 1, a(0) = a(1) = a(2) = a(3) = 0.
0, 0, 0, 0, 1, 2, 3, 4, 6, 5, 7, 4, 3, 7, 1, 6, 6, 2, 4, 3, 6, 5, 2, 2, 5, 1, 4, 7, 3, 3, 8, 16, 20, 24, 17, 2, 23, 16, 2, 1, 23, 8, 11, 11, 29, 22, 30, 22, 12, 27, 6, 17, 30, 6, 1, 17, 16, 23, 23, 7, 24, 16, 8, 16, 9, 26, 19, 4, 14, 21, 7, 4, 11, 31, 25, 30, 22, 10, 20
Offset: 0
Examples
a(4) = (a(3) XOR a(0)) + 1 = (0 XOR 0) + 1 = 0 + 1 = 1. a(5) = (a(4) XOR a(1)) + 1 = (1 XOR 0) + 1 = 1 + 1 = 2. a(8) = (a(7) XOR a(4)) + 1 = (100_2 XOR 001_2) + 1 = 101_2 + 1 = 110_2 = 6_10.
Links
- 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
-
Mathematica
Nest[Append[#, 1 + BitXor @@ #[[{-1, -4}]] ] &, ConstantArray[0, 4], 75] (* Michael De Vlieger, Feb 23 2020 *)
-
Python
feedback_delay = 3 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