我知道如何使用列表推导式来完成这个操作,但是如何实现一个函数来递归计算给定两个集合的笛卡尔积呢?
以下是我卡住的地方(我是新手)。
这段代码的输出结果是:
以下是我卡住的地方(我是新手)。
crossProd :: [Int] -> [Int] -> [(Int,Int)]
crossProd xs ys | xs == [] || ys == [] = []
| otherwise = (head xs, head ys) : crossProd (tail xs) (ys)
这段代码的输出结果是:
如果集合分别是[(1,4),(1,5),(1,6)]
[1,2,3]
和[4,5,6]
,您可以通过什么方式获取剩余的元素呢?