List Haskell-给定两个整数,查找所有子列表

List Haskell-给定两个整数,查找所有子列表,list,haskell,sublist,List,Haskell,Sublist,我是Haskell的新手,在这方面到处寻找帮助,但我似乎无法让它发挥作用这是一项家庭作业,但任何帮助/指点都将不胜感激 如果我有2个整数I和j,我需要找到[I,…,j]的所有子列表。除了内置函数外,我不能使用其他辅助函数 我有一种方法可以找到给定列表的所有子列表(可能不是最好的方法): 我知道如何将2个整数转换成一个列表,但就我个人而言,我不能在同一个函数中同时处理这两个整数。 谢谢!:) 也许可以把问题分解成容易解决的情况。当i>j时,[i..j]的子列表是什么?当i==j时,[i..j]的子

我是Haskell的新手,在这方面到处寻找帮助,但我似乎无法让它发挥作用这是一项家庭作业,但任何帮助/指点都将不胜感激

如果我有2个整数I和j,我需要找到[I,…,j]的所有子列表。除了内置函数外,我不能使用其他辅助函数

我有一种方法可以找到给定列表的所有子列表(可能不是最好的方法):

我知道如何将2个整数转换成一个列表,但就我个人而言,我不能在同一个函数中同时处理这两个整数。
谢谢!:)

也许可以把问题分解成容易解决的情况。当
i>j
时,
[i..j]
的子列表是什么?当
i==j
时,
[i..j]
的子列表是什么?如果您拥有
[i+1..j]
的所有子列表,您将如何从这些子列表中获取
[i..j]
的所有子列表?您可以将
myList
更改为获取2个整数,并在递归时继续使用这2个整数,而不是尝试将2个整数更改为一个列表,然后使用该列表作为参数调用
myList
。如果
a>b
,我的列表a b的值是多少?如果
a
head(列表i j)=i{If i
myList x =
   if x==[]
      then [[]]
      else (myList (tail x))
      ++ (map
         (\a -> (head x):a)
         (myList (tail x))
         )