prolog 集合的交

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lifestxx/article/details/85394361

不严格的推导如下:

intcou([X,Y],[W,Z],[H,T]):-X<W,Z<Y,H is W,T is Z,H<T.
intcou([X,Y],[W,Z],[H,T]):-X<W,Y<Z,H is W,T is Y,H<T.
intcou([X,Y],[W,Z],[H,T]):-X>W,Z>Y,H is Z,T is W,H<T.
intcou([X,Y],[W,Z],[H,T]):-X>W,Y>Z,H is Y,T is W,H<T.
intcou([X,Y],[W,Z],[]):-W>Y.
intcou([X,Y],[W,Z],[]):-X>Z.
intcous([H,H2|[]],X):-intcou(H,H2,X).
intcous([H,H2|T],X):-intcou(H,H2,S),intcous([S|T],X).

?- intcous([[1,10],[2,9],[3,8],[4,5]],X).
X = [4, 5] ;

猜你喜欢

转载自blog.csdn.net/lifestxx/article/details/85394361
今日推荐