Kaoru Hosokawa ([EMAIL PROTECTED]) wrote:

> I hope to find a better solution. I googled but couldn't find the 
> answer.

Here is what I have. I do not have working Haskell interpreter at
the moment (being on amd64), but this is what I have in my archive:

weakAscendingOrder :: Int -> Int -> Int -> Bool
weakAscendingOrder a b c
  | (a < b) && (b == c) ||
    (a == b) && (b < c)    = True
  | otherwise              = False


howManyEqual :: Int -> Int -> Int -> Int
howManyEqual a b c
  | (a == b ) && (b == c)     = 3
  | weakAscendingOrder a b c  = 2
  | (a /= b) && (b /= c)      = 0


isEqual :: Int -> Int -> Int -> Int -> Bool
isEqual x a b c
  | (x == a)   = True
  | (x == b)   = True
  | (x == c)   = True
  | otherwise  = False


howManyOfFourEqual :: Int -> Int -> Int -> Int -> Int
howManyOfFourEqual a b c d
  | isEqual a b c d   = howManyEqual b c d + 1
  | otherwise         = howManyEqual b c d


Pls. test it ;)

Sincerely,
Gour

-- 
Registered Linux User   | #278493
GPG Public Key          | 8C44EDCD
 
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to