Haskell:检查三个变量中的不同值&计算不同的变量

时间:2017-11-15 21:27:30

标签: haskell

我是Haskell的新手并试图找出如何实现以下两个功能。

  1. 输入3个整数并检查其中两个是否相等(例如1,2,2 -> true1,2,3 -> false
  2. 输入3个整数并计算不同的值(例如1,1,2 -> 2
  3. 非常感谢你。

1 个答案:

答案 0 :(得分:1)

对元素进行排序和分组,并对等价类进行计数,这将为您提供不同元素的计数

distinct = length . group . sort

使用上面的定义,如果有重复,则不同元素的数量将小于元素的数量。

dups = liftM2 (/=) length distinct

这是一种更简单的写作方式

dups x = length x /= distinct x