login
Number of positive solutions to "numbers that are n times their number of binary 1's".
7

%I #20 May 11 2016 16:23:31

%S 1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,3,1,0,0,2,1,1,1,1,1,1,1,

%T 0,1,2,0,1,1,2,1,1,1,1,3,0,1,0,0,1,0,2,2,0,1,2,1,1,1,1,1,1,1,1,1,0,1,

%U 2,0,2,1,1,2,1,0,2,1,2,1,2,2,2,1,2,1,1,1,2,1,2,3,1,0,0,1,0,0,1,0,2,1,0,0,2

%N Number of positive solutions to "numbers that are n times their number of binary 1's".

%C Equivalently, this is the number of ways to write n as an arithmetic mean of distinct powers of 2. [_Brian Kell_, Mar 01 2009]

%H Peter Kagey, <a href="/A065413/b065413.txt">Table of n, a(n) for n = 1..10000</a>

%e a(23)=3 since 69, 92 and 115 are written in binary as 1000101, 1011100 and 1110011 and 69=23*3, 92=23*4 and 115=23*5.

%p N:= 1000: # to get a(1) to a(N)

%p A:= Vector(N):

%p for x from 1 while x/(1+ilog2(x)) <= N do

%p v:= x/convert(convert(x,base,2),`+`);

%p if v::integer and v <= N then

%p A[v]:= A[v]+1

%p fi

%p od:

%p seq(A[i],i=1..N); # _Robert Israel_, May 06 2016

%p # alternative program

%p read("transforms") :

%p A065413 := proc(n)

%p local bdgs,a,x;

%p a := 0 ;

%p for bdgs from 1 do

%p x := n*bdgs ;

%p # x must have bdgs bits set, so x =bdgs*n >= 2^bdgs-1.

%p if n < (2^bdgs-1)/x then

%p break;

%p elif wt(x) = bdgs then

%p a := a+1 ;

%p end if;

%p end do:

%p a ;

%p end proc: # _R. J. Mathar_, May 11 2016

%Y Cf. A000120, A037478, A058898, A272797 (greedy inverse).

%K base,nonn

%O 1,23

%A _Henry Bottomley_, Nov 23 2001