リスト L があり、各要素を個別のリストに分割し、それらを再度追加する必要があります。これは私が同じために作ったコードです。
split([],[]).
split([H|T],Ls):-split(T,Ls),splist(H,[]).
make(Val,[H1|List],[H1|Res]):- make(Val,List,Res). make(Val, List,[Val|List]).
splist(H,L2):- make(Sum,[],L1),append(L1,L2,NewL).
このコードを使用すると、L の各要素が split() から splist() に再帰的に渡され、make() によって単一要素のリスト L1 になります。L1 と L2 を連結し続けるには追加が必要です。しかし、そうではありません
たとえば、私は L=[1,2,3] を持っています。ここで、次のプロセスを実行する必要があります。
H=1、L1=[1]、L2=[1]。次に、H=2、L1=[2]、L2=[1,2]。次に、H=3、L1=[3]、L2=[1,2,3]。
上記の出力が必要ですが、これが私のコードです。
H=1、L1=[1]、L2=[1]。次にH=2、L1=[2]、L2=[2]。次に、H=3、L1=[3]、L2=[3]。