我在这里有一个半自愿的 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/

10-12 22:55