2017-12-11 13 views
-2

私があなたにこれを手助けできるかどうか疑問に思っていました。リストの桁数を数えるスクリプトを作成する必要があります。次に例を示します。リスト内の数字をカウントするプロローグ

amount([234,12,4356],L) 

が生じるはずである:

L=[c(234,3),c(12,2),c(4356,4)] 
+0

あなたはこれまでこれを解決しようとしましたか? – lurker

答えて

-1

あなたが原子の長さを取り、それをその原子と一緒にあなたの結果の変数の頭を行う必要があります。

count(List,X):- 
    counter(List,X). 

counter([],[]). 
counter([H|T],[(H,Z)|X]):- 
    atom_length(H,Z), 
    counter(T,X). 

したがって、クエリ:

?- count([234,12,4356],L). 
    L = [(234, 3), (12, 2), (4356, 4)]. 
関連する問題