1

私はプロローグを始めたばかりで、次の質問について助けていただければ幸いです。

2つのリストを受け入れ、2番目を最初に追加し、この新しいリストとその長さを表示するプログラムを作成する必要があります。私はプロローグがこれをすべて簡単にするためにいくつかの組み込み関数を持っているかもしれないことを知っています...しかし私はそれらを使いたくありません。

例:newlist([a,b,c],[d,e,f],L3,Le).戻っL3=[a,b,c,d,e,f]Le=6

これが私がこれまでに持っているものです:

newlist([],List,List,0) 

newlist([Element|List1],List2,[Element|List3],L) :- newlist(List1,List2,List3, LT), L is LT + 1.

これは正しく追加しますが、結合されたリストではなく、最初のリストの長さしか取得できません。2番目のリストの長さを最初のリストに追加して、結合されたリストの長さを取得する方法はありますか?

ありがとう、そしてこの質問がかなり簡単なら申し訳ありません...私は新しいです。

4

1 に答える 1

2

2番目のリストの長さを最初のリストに追加して、結合されたリストの長さを取得する方法はありますか?

交換する必要があります:

newlist([],List,List,0).

と:

newlist([],List,List,X):-length(List,X).
于 2013-02-22T07:11:40.733 に答える