fusc(n)=local(a=1, b=0); while(n>0, if(bitand(n, 1), b+=a, a+=b); n>>=1); b \\ Charles R Greathouse IV, Oct 05 2008 { m = 0; for (n = 0, 2^13, m = bitxor(m, 2^fusc(n)); print (n " " hammingweight(m)); ); } quit