我需要的功能与签名diffFolge :: (Integer, Integer) -> [Integer]
,其中当施加到所述参数对(m, n)
(m, n> 0
)返回号码的降序列表,这些数字之间的差beeing n
。 结果列表的第一个元素是m
,最后一个元素始终大于0
,最后一个元素 要么0
要么是严格小于0
的值。差副产品
我写如下:
diffFolge :: (Integer,Integer) -> [Integer]
diffFolge (m,n) = if m > 0 && n > 0 then [m,m-n..n-2*n] else []
例如
input : diffFolge (5,1)
output : [5,4,3,2,1,0]
例如
input : diffFolge (5,2)
output :[5,3,1,-1] ---> This is true by my code
然而,在第一个例子我的函数返回[5,4,3,2,1,0,-1]
给出的输入。我该如何解决这个问题?
这就是答案我在找什么谢谢你... – marco 2010-10-23 13:56:25