This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A387269 #41 Sep 02 2025 16:40:20 %S A387269 4,24,36,112,152,196,292,480,624,792,900,1176,1220,1572,1984,2340, %T A387269 2528,3184,3608,3844,4720,4888,4996,6296,6340,7204,8064,9368,9412, %U A387269 9764,10176,12580,12768,14448,15384,15876,18724,18912,19568,19992,20228,25200,25368,25476 %N A387269 Numbers whose binary expansion consists of alternating runs of 1's and 0's where each run of 0's is exactly one longer than the preceding run of 1's, and the expansion ends with a 0-run. %C A387269 Every term is even (since the binary ends with a 0-run). %C A387269 Writing the binary word as consecutive pairs 1^{a_1}0^{a_1+1}1^{a_2}0^{a_2+1} ..., the total number of 0's exceeds the total number of 1's by the number of pairs. %C A387269 Single-pair subfamily 1^{k}0^{k+1}_2, with k >= 1, is A059153(k-1). %C A387269 Let f(n) = n & (2n) (bitwise AND; A213370). If x has binary run pairs 1^{L_i+1}0^{L_i} (MSB->LSB) as in A387270, then f(x) has pairs 1^{L_i}0^{L_i+1}. Thus f maps A387270 bijectively onto this sequence. Reason: n & (2n) has 1-bits exactly where n has adjacent 1-bits, which shortens every 1-run by 1 and lengthens the following 0-run by 1. Conversely, g(n) = n | floor(n/2) increases each 1-run by 1 and shortens the following 0-run by 1, mapping this sequence back to A387270. Examples: f(6) = 4 (110_2 -> 100_2), f(28) = 24 (11100_2 -> 11000_2); g(24) = 28 (11000_2 -> 11100_2), g(36) = 54 (100100_2 -> 110110_2). %H A387269 Ahmet Caglar Saygili, <a href="/A387269/b387269.txt">Table of n, a(n) for n = 1..10000</a> %H A387269 Sean A. Irvine, <a href="https://github.com/archmageirvine/joeis/blob/master/src/irvine/oeis/a387/A387269.java">Java program</a> (github) %e A387269 36 = 100100_2 is a term since its pairs of (1 then 0) runs are (1,2), (1,2). %o A387269 (Julia) %o A387269 function ok(n::Integer)::Bool %o A387269 n > 0 && iseven(n) || return false %o A387269 x = unsigned(n) %o A387269 while x != 0 %o A387269 z = trailing_zeros(x); x >>= z %o A387269 o = trailing_ones(x) %o A387269 z == o + 1 || return false %o A387269 x >>= o %o A387269 end %o A387269 true %o A387269 end %o A387269 [k for k in 0:10^5 if ok(k)] %o A387269 (Python) %o A387269 from itertools import groupby %o A387269 def ok(n): %o A387269 L = [len(list(g)) for k, g in groupby(bin(n)[2:])] %o A387269 return (m:=len(L))&1 == 0 and all(L[2*j]+1 == L[2*j+1] for j in range(m>>1)) %o A387269 print([k for k in range(10**5) if ok(k)]) # _Michael S. Branicky_, Aug 25 2025 %o A387269 (PARI) isok(k) = if (!(k%2), my(b=binary(k), pos=1, d, dd); for (i=1, #b-1, if (b[i] != b[i+1], if (b[i], d = i-pos+1; pos = i+1, dd = i-pos+1; pos = i+1; if (dd != d+1, return(0))))); dd = #b - pos+1; if (dd != d+1, return(0)); return(1);); \\ _Michel Marcus_, Aug 26 2025 %Y A387269 Cf. A059153, A166751, A387270, A213370. %K A387269 base,nonn,easy,new %O A387269 1,1 %A A387269 _Ahmet Caglar Saygili_, Aug 24 2025