login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A243109 a(n) is the largest number smaller than n and having the same Hamming weight as n, or n if no such number exist. 2

%I #20 Mar 02 2021 06:02:56

%S 0,1,1,3,2,3,5,7,4,6,9,7,10,11,13,15,8,12,17,14,18,19,21,15,20,22,25,

%T 23,26,27,29,31,16,24,33,28,34,35,37,30,36,38,41,39,42,43,45,31,40,44,

%U 49,46,50,51,53,47,52,54,57,55,58,59,61,63,32,48,65,56,66,67,69

%N a(n) is the largest number smaller than n and having the same Hamming weight as n, or n if no such number exist.

%C To calculate a(n), some bits of n are rearranged. The lowest 1-bit which can move down is the 1 of the lowest 10 bit pair in n. This pair becomes 01 in a(n) and any 1's below there move up to immediately below so the decrease is as small as possible. If n has no 10 bit pair (n = 2^k-1) then nothing smaller is possible and a(n) = n. - _Kevin Ryde_, Mar 01 2021

%H Philippe Beaudoin, <a href="/A243109/b243109.txt">Table of n, a(n) for n = 0..10000</a>

%H Joerg Arndt, <a href="http://www.jjj.de/fxt/#fxtbook">Matters Computational (The Fxtbook)</a>, section 1.24.1 Co-lexicographic (colex) order, function prev_colex_comb(), and second implementation in FXT library bitcombcolex.h (both 0 when no previous rather than a(n) = n).

%F a(n) = t - 2^(A007814(t) - A007814(n+1) - 1) if t!=0, or a(n) = n if t=0, where t = A129760(n+1) is n with any trailing 1's cleared to 0's and A007814 is the 2-adic valuation. - _Kevin Ryde_, Mar 01 2021

%e From _Kevin Ryde_, Mar 01 2021: (Start)

%e v vv

%e n = 1475 = binary 10111000011 lowest 10 of n

%e a(n) = 1464 = binary 10110111000 becomes 01 and

%e ^^^ other 1's below

%e (End)

%o (PARI) a(n) = {my(hn = hammingweight(n)); forstep(k=n-1, 1, -1, if (hammingweight(k) == hn, return (k)); ); return (n); } \\ _Michel Marcus_, Aug 20 2014

%o (PARI) a(n) = my(s=n+1,t=bitand(n,s)); if(t==0,n, t - 1<<(valuation(t,2)-valuation(s,2)-1)); \\ _Kevin Ryde_, Mar 01 2021

%Y Cf. A057168 (next of same weight), A066884 (array by weight), A241816 (lowest 10->01).

%K nonn,base,easy

%O 0,4

%A _Philippe Beaudoin_, Aug 20 2014

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 24 02:46 EDT 2024. Contains 371917 sequences. (Running on oeis4.)