2015-09-21 41 views

回答

2

試試這個:

?- findall(., Goal, Ls), length(Ls, L).

例子:

 
?- findall(., member(X,[1,2,3]), Ls), length(Ls, L). 
L = 3, 
... . 
+0

噢,我很笨! –

+3

我再次建議你在編程時使用Prolog來考慮*關係*。這個問題可能與你之前的反問題有關,我建議你通過更徹底的思考。 – mat

0

庫(aggregate)已經實施了您的問題提供解決方案,以及更多...

?- aggregate(count, X^member(X,[1,2,3]), N). 
N = 3. 

?- aggregate(count, 17 =:= 12 + 5, N). 
N = 1. 
相關問題