2
我是Haskell的新手,我遇到了小問題。 我想寫一個函數來識別列表是否是算術序列。Haskell算術序列的識別
我這個不工作代碼:
isArithmSeq :: [Int] -> Bool
isArithmSeq [] = False;
isArithmSeq [x] = False;
isArithmSeq [x,y] = True;
isArithmSeq (x:y:xs) = (sum (x:y:xs)) == (sum [x,y..(last xs)])
我不知道如何使它發揮作用。任何人都可以幫我解決這個問題
Thx。
如果一個等差數列是「所有後續差異平等」,則[]和[x]情況應該是真實的,真實的。有一個很好的單行使用'all'和'zipWith'。 – pigworker
我也不喜歡空的和單元素列表給False,但這就是它看起來像提問者想要的問題。我認爲他們有這個部分工作,他們喜歡它。你可能是對的,甚至有更聰明的方法來解決這個問題。 –