0

[[a,b],[c,d]]ペアノ記法で数値を表すこのような用語を使用して、行列を行列の行のリストとして表現する必要があります。

行列の行を取得する必要があります

ow(X,N,C): C は行列 X の N 番目の行であり、行列の列

column(X,N,C): C は、行列 X の N 番目の列です。

また、最初の列の行列と残りの行列 (これはまったく同じ行列ですが、最初の列はありません) を分解するものです。

first_column(X,C,R): matrix X is formed by a first column C in
                     front of matrix R. 

誰か助けてくれませんか?

4

1 に答える 1

0

ペアノ記法は、再帰アルゴリズムの表現を簡素化します。マトリックスのインデックス付けは 0 ベースであると仮定し、割り当ての最も単純なタスクを取得する方法を示します。

row([Row|_], 0, Row).
row([_|Rows], succ(N), Row) :- row(Rows, N, Row).

テスト (インデックス 1 で2行目を取得):

?- row([[a,b], [c,d]], succ(0), R).
R = [c, d] ;
false.

これは、他の 2 つのタスクに答えるために使用する重要な要素を示しています。

于 2012-11-05T21:50:54.460 に答える