A001196 Double-bitters: only even length runs in binary expansion.
0, 3, 12, 15, 48, 51, 60, 63, 192, 195, 204, 207, 240, 243, 252, 255, 768, 771, 780, 783, 816, 819, 828, 831, 960, 963, 972, 975, 1008, 1011, 1020, 1023, 3072, 3075, 3084, 3087, 3120, 3123, 3132, 3135, 3264, 3267, 3276, 3279, 3312, 3315, 3324, 3327, 3840, 3843
Offset: 0
Links
- Sean A. Irvine, Table of n, a(n) for n = 0..10000
- Robert Baillie and Thomas Schmelzer, Summing Kempner's Curious (Slowly-Convergent) Series, Mathematica Notebook kempnerSums.nb, Wolfram Library Archive, 2008.
- Ralf Stephan, Some divide-and-conquer sequences with (relatively) simple ordinary generating functions, 2004.
- Ralf Stephan, Table of generating functions. [ps file]
- Ralf Stephan, Table of generating functions. [pdf file]
- Eric Weisstein's World of Mathematics, Koch Snowflake.
- Wikipedia, Koch snowflake.
- Index entries for sequences related to binary expansion of n
Crossrefs
Programs
-
C
int a_next(int a_n) { int t = a_n << 1; return a_n ^ t ^ (t + 3); } /* Falk Hüffner, Jan 24 2022 */
-
Haskell
a001196 n = if n == 0 then 0 else 4 * a001196 n' + 3 * b where (n',b) = divMod n 2 -- Reinhard Zumkeller, Feb 21 2014
-
Maple
Runs := proc (L) local j, r, i, k: j := 1: r[j] := L[1]: for i from 2 to nops(L) do if L[i] = L[i-1] then r[j] := r[j], L[i] else j := j+1: r[j] := L[i] end if end do: [seq([r[k]], k = 1 .. j)] end proc: RunLengths := proc (L) map(nops, Runs(L)) end proc: c := proc (n) ListTools:-Reverse(convert(n, base, 2)): RunLengths(%) end proc: A := {}: for n to 3350 do if type(product(1+c(n)[j], j = 1 .. nops(c(n))), odd) = true then A := `union`(A, {n}) else end if end do: A; # most of the Maple program is due to W. Edwin Clark. - Emeric Deutsch, Jan 26 2018 # second Maple program: a:= proc(n) option remember; `if`(n<2, 3*n, 4*a(iquo(n, 2, 'r'))+3*r) end: seq(a(n), n=0..100); # Alois P. Heinz, Jan 24 2022
-
Mathematica
fQ[n_] := Union@ Mod[Length@# & /@ Split@ IntegerDigits[n, 2], 2] == {0}; Select[ Range@ 10000, fQ] (* Or *) fQ[n_] := Union@ Join[IntegerDigits[n, 4], {0, 3}] == {0, 3}; Select[ Range@ 10000, fQ] (* Robert G. Wilson v, Dec 24 2012 *)
-
PARI
a(n) = 3*fromdigits(binary(n),4); \\ Kevin Ryde, Nov 07 2020
-
Python
def inA001196(n): while n != 0: if n%4 == 1 or n%4 == 2: return 0 n = n//4 return 1 n, a = 0, 0 while n < 20: if inA001196(a): print(n,a) n = n+1 a = a+1 # A.H.M. Smeets, Aug 19 2019
-
Python
from itertools import groupby def ok2lb(n): if n == 0: return True # by convention return all(len(list(g))%2 == 0 for k, g in groupby(bin(n)[2:])) print([i for i in range(3313) if ok2lb(i)]) # Michael S. Branicky, Jan 04 2021
-
Python
def A001196(n): return 3*int(bin(n)[2:],4) # Chai Wah Wu, Aug 21 2023
Formula
a(2n) = 4*a(n), a(2n+1) = 4*a(n) + 3.
a(n) = 3 * A000695(n).
Sum_{n>=1} 1/a(n) = 0.628725478158702414849086504025451177643560169366348272891020450593453403709... (calculated using Baillie and Schmelzer's kempnerSums.nb, see Links). - Amiram Eldar, Feb 12 2022
Comments