0
count([], 0, 0).
count([X|T], M, N) :- 1 is X, count(T, MRec, NRec), 
                              M is MRec, N is NRec+1.

count([X|T], M, N) :- 0 is X, count(T, MRec, NRec), 
                              M is MRec+1, N is NRec.

control_number(L) :- count_digit(L, M, N), 2 is M, 3 is N.


?- control_number([1,1,0,0,1]).
ERROR: count_number/3: Undefined procedure: count/3

皆さん、こんにちは。助けが必要です。このコードは、2 つの個別の数値のカウントを再帰的に提供する必要があります。ただし、2 つのパラメーターで再帰を提供することはできません。私は推測MRecし、NRec決して有効ではありません。どんな助けでも大歓迎です。ありがとう...

4

3 に答える 3