0
得到原子變量的列表有關示例 -
期限=(H-5)*(H-5)+ (k-2)*(k-2) - (h-3)*(h-3) - (k-4)*(k-4)= 0,
get_variables(Term,Var_list) 。
對於上述術語,答案將是Var_list = [h,k]。
得到原子變量的列表有關示例 -
期限=(H-5)*(H-5)+ (k-2)*(k-2) - (h-3)*(h-3) - (k-4)*(k-4)= 0,
get_variables(Term,Var_list) 。
對於上述術語,答案將是Var_list = [h,k]。
這應該工作(順便說一個很好的問題):
variables(T,V):-
variables(T,[],V1),
sort(V1,V).
variables(T,Acc,[T|V]):-
var(T), !,
variables(Acc,[],V).
variables([],[],[]).
variables([],Acc,V):-
variables(Acc,[],V).
variables([H|T],Acc,V):-
append(T,Acc,NewAcc),
variables(H,NewAcc,V).
variables(T,Acc,V):-
atom(T),
variables(Acc,[],V).
variables(T,Acc,V):-
T=.. [_F|AL],
variables(AL,Acc,V).
您所查詢的是
?- variables((H-5)* (H-5)+ (K- -2)* (K- -2)- (H-3)* (H-3)- (K-4)* (K-4)=0,VL).
您的查詢找到合適的解決方案,但隨後循環。 – false
有一個內置於你的(OP的謂詞解釋)謂詞:'term_variables/2'。 – false