(方案)
(定义rdc(λ(x))(如果(null?(cdr x))'()(cons(car x)(rdc(cdr x))))
; 如果比特是1,则得到2^i,其中i是该比特从右向左的索引
(定义F(λ(c i)(如果(eq?c#\1)(expt 2 i)0))
; 收集与1对应的所有索引的2^索引之和
(定义fn(lambda(x sum i stop)(if(eq?i stop)sum(fn(list->string(rdc(string->list x)))(+sum(F(string ref x(-(string length x)1))i))(+i 1)stop)))
(定义f(lambda(x)(fn(子串thue 0(+x1)))
(定义为“0110100110010110”);可以在此处添加任意长度的Thue-Morse序列
(PARI)a(n)=总和(k=1,n,(锤击重量(k)%2)<<(n-k))\\查尔斯·格里特豪斯四世2016年5月8日
(PARI)第一(n)=我的(v=向量(n));v[1]=1;对于(k=2,n,v[k]=2*v[k-1]+hammingweight(k)%2);concat(0,v)\\查尔斯·格里特豪斯四世2016年5月8日