在枫树上定义自动序列

时间:2015-05-29 15:22:35

标签: maple

我正在使用枫来研究一些属性或数值实验,以查看自动序列是否满足某些属性。

首先,我想在枫树上定义以下序列。序列的第n个项由下面的表达式i_{n}=(-1)^{inv_2(n)}给出,其中inv_2(n)表示在数字n的二进制表示中出现10作为散乱子序列。例如2=0x2^{0}+1x2^{1}+0...所以2的二进制表示是10,因此反转是1,所以上面谈到的表达式取值为-1,更一般的例子是12的二进制表示是1100,然后在这种情况下inv_2(12)为4,因为我们将10计为分散的子序列。

如何在枫树上定义这样的序列?

1 个答案:

答案 0 :(得分:0)

如果我已正确解释您的示例,那么这是 inv_2 的过程:

inv_2:= proc(n::nonnegint)
local N:= convert(n, base, 2), L:= nops(N), i, j, ct:= 0;
     for i from L by -1 to 1 do
          if N[i] = 1 then
               for j from i-1 by -1 to 1 do
                    if N[j] = 0 then  ct:= ct+1  end if
               end do
          end if
     end do;
     ct
end proc:

请确认这会给出正确的结果。