我正在尝试在 Haskell 中编写一个函数来计算给定数字的所有因子,除了它本身。
结果应该是这样的:
factorlist 15 => [1,3,5]
Run Code Online (Sandbox Code Playgroud)
我是 Haskell 和整个递归主题的新手,我很确定我应该在这个例子中应用它,但我不知道在哪里或如何应用。
我的想法是将给定的数字与从 1 到 n div2的列表的第一个元素与mod函数进行比较,但以某种方式递归地进行比较,如果结果是,0则将数字添加到新列表中。(我希望这是有道理的)
我将不胜感激在这件事上的任何帮助
到目前为止,这是我的代码:(它不起作用..但以某种方式说明了我的想法)
factorList :: Int -> [Int]
factorList n |n `mod` head [1..n`div`2] == 0 = x:[]
Run Code Online (Sandbox Code Playgroud) 我正在尝试定义一个functino,它找到列表中邻居号码之间的最小距离
这样的事情:
minNeighborsDistance [2,3,6,2,0,1,9,8] => 1
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样:
minNeighborsDistance [] = []
minNeighborsDistance (x:xs) = minimum[minNeighborsDistance xs ++ [subtract x (head xs)]]
Run Code Online (Sandbox Code Playgroud)
虽然这似乎运行,但一旦我输入列表,我收到一个异常错误.
我是Haskell的新手我会很感激这件事的任何帮助.
haskell ×2