0

この質問がサイトにうまく当てはまらない場合は申し訳ありません... Maple コードの一部を Mathematica に変換しようとしています。Maple はまったく知りませんが、Mathematica は少し知っています。私は自分が何をしているのか本当にわからないので、誰かが私を少し助けてくれるのではないかと思います:

b:= proc(n, s) local sn, m;
  if n<1 then 1
else sn:= [s[], n]; m:= nops(sn);
     `if` (m*(m-1)/2 = nops (({seq (seq (sn[i]-sn[j], 
          j=i+1..m), i=1..m-1)})), b(n-1, sn), 0) +b(n-1, s)
  fi
end:

a:= proc(n) a(n):= b(n-1, [n]) +`if` (n=0, -1, a(n-1)) end:

seq(a(n), n=1..30);

以外はすべて理解していると思います

sn:= [s[], n];

確信はないけど。前もって感謝します!

4

1 に答える 1

1

インデックス呼び出しは、リストまたはセットの場合s[]のエントリのシーケンスを返します。ss

sリスト型 (特に) の場合、呼び出しは call のようs[]に動作しますop(s)。(この動作の類似性は、リスト、セット、およびシーケンスに当てはまります。ただし、すべての型に当てはまるわけではありません。)

L:=[2,4,7]:

L[];

                        2, 4, 7
op(L);

                        2, 4, 7

[L[], 5];

                      [2, 4, 7, 5]

したがって[s[], n]、リストsを取得して新しいリストを作成します。に割り当てられる新しいリストにはsn、 list のエントリとsそれに続く が含まれnます。

于 2013-01-29T02:33:52.687 に答える