A048645 Integers with one or two 1-bits in their binary expansion.
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 16, 17, 18, 20, 24, 32, 33, 34, 36, 40, 48, 64, 65, 66, 68, 72, 80, 96, 128, 129, 130, 132, 136, 144, 160, 192, 256, 257, 258, 260, 264, 272, 288, 320, 384, 512, 513, 514, 516, 520, 528, 544, 576, 640, 768, 1024, 1025, 1026, 1028, 1032
Offset: 1
Examples
From _Omar E. Pol_, Feb 18 2015: (Start) Also, written as a triangle T(j,k), k >= 1, in which row lengths are the terms of A028310: 1; 2; 3, 4; 5, 6, 8; 9, 10, 12, 16; 17, 18, 20, 24, 32; 33, 34, 36, 40, 48, 64; 65, 66, 68, 72, 80, 96, 128; ... It appears that column 1 is A094373. It appears that the right border gives A000079. It appears that the first differences in every row that contains at least two terms give the first h-1 powers of 2, where h is the length of the row. (End)
Links
- Reinhard Zumkeller, Rows n = 1..100 of triangle, flattened
- Wawrzyniec Bieniawski, Piotr Masierak, Andrzej Tomski, and Szymon Łukaszyk, Assembly Theory - Formalizing Assembly Spaces and Discovering Patterns and Bounds, Preprints.org (2025).
- Michael P. Connolly, Probabilistic rounding error analysis for numerical linear algebra, Ph. D. Thesis, Univ. Manchester (UK, 2022). See p. 55.
- USA Mathematical Olympiad, Problem 4, 2008.
- Eric Weisstein's World of Mathematics, Automatic Set.
- Eric Weisstein's World of Mathematics, Binomial Coefficient.
- Index entries for sequences related to cellular automata.
- Index to sequences related to Olympiads and other Mathematical competitions.
Crossrefs
Programs
-
Haskell
import Data.List (insert) a048645 n k = a048645_tabl !! (n-1) !! (k-1) a048645_row n = a048645_tabl !! (n-1) a048645_tabl = iterate (\xs -> insert (2 * head xs + 1) $ map ((* 2)) xs) [1] a048645_list = concat a048645_tabl -- Reinhard Zumkeller, Dec 19 2012
-
Maple
lincom:=proc(a,b,n) local i,j,s,m; s:={}; for i from 0 to n do for j from 0 to n do m:=a^i+b^j; if m<=n then s:={op(s),m} fi od; od; lprint(sort([op(s)])); end: lincom(2,2,1000); # Zerinvary Lajos, Feb 24 2007
-
Mathematica
Select[Range[2000], 1 <= DigitCount[#, 2, 1] <= 2&] (* Jean-François Alcover, Mar 06 2016 *)
-
PARI
isok(n) = my(hw = hammingweight(n)); (hw == 1) || (hw == 2); \\ Michel Marcus, Mar 06 2016
-
PARI
a(n) = if(n <= 2, return(n), n-=2); my(c = (sqrtint(8*n + 1) - 1) \ 2); 1 << c + 1 << (n - binomial(c + 1, 2)) \\ David A. Corneth, Jan 02 2019
-
PARI
nxt(n) = msb = 1 << logint(n, 2); if(n == msb, n + 1, t = n - msb; n + t) \\ David A. Corneth, Jan 02 2019
-
Python
def ok(n): return 1 <= bin(n)[2:].count('1') <= 2 print([k for k in range(1033) if ok(k)]) # Michael S. Branicky, Jan 22 2022
-
Python
from itertools import count, islice def agen(): # generator of terms for d in count(0): msb = 2**d yield msb for lsb in range(d): yield msb + 2**lsb print(list(islice(agen(), 60))) # Michael S. Branicky, Jan 22 2022
-
Python
from math import isqrt, comb def A048645(n): return (1<<(m:=isqrt(n-1<<3)+1>>1)-1)+(1<<(n-2-comb(m,2))) if n>1 else 1 # Chai Wah Wu, Oct 30 2024
Formula
a(0) = 1, a(n) = (2^(trinv(n-1)-1) + 2^((n-1)-((trinv(n-1)*(trinv(n-1)-1))/2))), i.e., 2^A003056(n) + 2^A002262(n-1) (the latter sequence contains the definition of trinv).
Let Theta = Sum_{k >= 0} x^(2^k). Then Sum_{n>=1} x^a(n) = (Theta^2 + Theta + x)/2. - N. J. A. Sloane, Jun 23 2009
As a triangle, for n > 1, 1 < k <= n: T(n,1) = A173786(n-2,n-2) and T(n,k) = A173786(n-1,k-2). - Reinhard Zumkeller, Feb 28 2010
Sum_{n>=1} 1/a(n) = 2 + A179951. - Amiram Eldar, Jan 22 2022
Comments