我需要y = 1/x
在一个数字列表上实现。
IE
inv (List1, ResultingList).
inv ([2 , 1 , 0 , 0.25 ] , R).
R = [ 0.5, 1, inf, 4.0 ].
我尝试过使用递归函数,但它不起作用。
这是我的“解决方案”:
inv([], []).
inv(list, R):- list == [H|T], T \== [], Y is (1/H),
append(R, Y, R), inv(T);
list = [H|T], T == [], R = T;
list = [H|T], H == [0], append(R, "inf", R).
我知道有很多错误,但我找不到方法。