我在这里有一个半自愿的 Haskell 作业,需要一些关于如何解决它的帮助。
任务:
编写一个 Haskell 函数
evenmin a b c
如果参数中没有偶数,则返回参数中最小的偶数或最大的奇数。
我知道我可以用很多守卫做到这一点,但我相信有更好的方法!请不要写出解决方案,但如果可以的话,请把我推向正确的方向。谢谢!
最佳答案
提示:假设您的输入是一个非空的整数列表,而不是 3 个参数,即
evenmin' :: [Int] -> Int
进一步假设您有一个函数
phi
可以像这样对输入进行分区:phi [1, 2, 3, 4, 5, 6] == ([1,3,5],[2,4,6])
evenmin'
的定义是什么?然后,定义 evenmin a b c = evenmin' [a, b, c]
。关于haskell - 如果没有偶数,则返回 3 个参数中的最小偶数或最大的奇数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27060267/