%I #100 Mar 27 2024 08:54:38
%S 0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,768,771,780,
%T 783,816,819,828,831,960,963,972,975,1008,1011,1020,1023,3072,3075,
%U 3084,3087,3120,3123,3132,3135,3264,3267,3276,3279,3312,3315,3324,3327,3840,3843
%N Double-bitters: only even length runs in binary expansion.
%C Numbers whose set of base 4 digits is {0,3}. - _Ray Chandler_, Aug 03 2004
%C n such that there exists a permutation p_1, ..., p_n of 1, ..., n such that i + p_i is a power of 4 for every i. - _Ray Chandler_, Aug 03 2004
%C The first 2^n terms of the sequence could be obtained using the Cantor-like process for the segment [0, 4^n-1]. E.g., for n=1 we have [0, {1, 2}, 3] such that numbers outside of braces are the first 2 terms of the sequence; for n=2 we have [0, {1, 2}, 3, {4, 5, 6, 7, 8, 9, 10, 11}, 12, {13, 14}, 15] such that the numbers outside of braces are the first 4 terms of the sequence, etc. - _Vladimir Shevelev_, Dec 17 2012
%C From _Emeric Deutsch_, Jan 26 2018: (Start)
%C Also, the indices of the compositions having only even parts. For the definition of the index of a composition, see A298644. For example, 195 is in the sequence since its binary form is 11000011 and the composition [2,4,2] has only even parts. 132 is not in the sequence since its binary form is 10000100 and the composition [1,4,1,2] also has odd parts.
%C The command c(n) from the Maple program yields the composition having index n. (End)
%C After the k-th step of generating the Koch snowflake curve, label the edges of the curve consecutively 0..3*4^k-1 starting from a vertex of the originating triangle. a(0), a(1), ... a(2^k-1) are the labels of the edges contained in one edge of the originating triangle. Add 4^k to each label to get the labels for the next edge of the triangle. Compare with A191108 in respect of the Sierpinski arrowhead curve. - _Peter Munn_, Aug 18 2019
%H Sean A. Irvine, <a href="/A001196/b001196.txt">Table of n, a(n) for n = 0..10000</a>
%H Robert Baillie and Thomas Schmelzer, <a href="https://library.wolfram.com/infocenter/MathSource/7166/">Summing Kempner's Curious (Slowly-Convergent) Series</a>, Mathematica Notebook kempnerSums.nb, Wolfram Library Archive, 2008.
%H Ralf Stephan, <a href="/somedcgf.html">Some divide-and-conquer sequences with (relatively) simple ordinary generating functions</a>, 2004.
%H Ralf Stephan, <a href="/A079944/a079944.ps">Table of generating functions</a>. [ps file]
%H Ralf Stephan, <a href="/A001196/a001196.pdf">Table of generating functions</a>. [pdf file]
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/KochSnowflake.html">Koch Snowflake</a>.
%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Koch_snowflake">Koch snowflake</a>.
%H <a href="/index/Bi#binary">Index entries for sequences related to binary expansion of n</a>
%F a(2n) = 4*a(n), a(2n+1) = 4*a(n) + 3.
%F a(n) = 3 * A000695(n).
%F Sum_{n>=1} 1/a(n) = 0.628725478158702414849086504025451177643560169366348272891020450593453403709... (calculated using Baillie and Schmelzer's kempnerSums.nb, see Links). - _Amiram Eldar_, Feb 12 2022
%p 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
%p # second Maple program:
%p a:= proc(n) option remember;
%p `if`(n<2, 3*n, 4*a(iquo(n, 2, 'r'))+3*r)
%p end:
%p seq(a(n), n=0..100); # _Alois P. Heinz_, Jan 24 2022
%t fQ[n_] := Union@ Mod[Length@# & /@ Split@ IntegerDigits[n, 2], 2] == {0}; Select[ Range@ 10000, fQ] (* Or *)
%t fQ[n_] := Union@ Join[IntegerDigits[n, 4], {0, 3}] == {0, 3}; Select[ Range@ 10000, fQ] (* _Robert G. Wilson v_, Dec 24 2012 *)
%o (Haskell)
%o a001196 n = if n == 0 then 0 else 4 * a001196 n' + 3 * b
%o where (n',b) = divMod n 2
%o -- _Reinhard Zumkeller_, Feb 21 2014
%o (Python)
%o def inA001196(n):
%o while n != 0:
%o if n%4 == 1 or n%4 == 2:
%o return 0
%o n = n//4
%o return 1
%o n, a = 0, 0
%o while n < 20:
%o if inA001196(a):
%o print(n,a)
%o n = n+1
%o a = a+1 # _A.H.M. Smeets_, Aug 19 2019
%o (Python)
%o from itertools import groupby
%o def ok2lb(n):
%o if n == 0: return True # by convention
%o return all(len(list(g))%2 == 0 for k, g in groupby(bin(n)[2:]))
%o print([i for i in range(3313) if ok2lb(i)]) # _Michael S. Branicky_, Jan 04 2021
%o (Python)
%o def A001196(n): return 3*int(bin(n)[2:],4) # _Chai Wah Wu_, Aug 21 2023
%o (PARI) a(n) = 3*fromdigits(binary(n),4); \\ _Kevin Ryde_, Nov 07 2020
%o (C) int a_next(int a_n) { int t = a_n << 1; return a_n ^ t ^ (t + 3); } /* _Falk Hüffner_, Jan 24 2022 */
%Y 3 times the Moser-de Bruijn sequence A000695.
%Y Two digits in other bases: A005823, A097252-A097262.
%Y Digit duplication in other bases: A338086, A338754.
%Y Main diagonal of A054238.
%Y Cf. A191108.
%K nonn,base,easy
%O 0,2
%A _N. J. A. Sloane_, based on an email from Bart la Bastide (bart(AT)xs4all.nl)