web-dev-qa-db-fra.com

Divisez Int en Int et retournez Int

J'ai besoin d'une fonction qui obtient deux Ints (a et b) et renvoie A/B comme Int. Je suis sûr que A/B sera toujours un entier.

Voici ma solution:

myDiv :: Int -> Int -> Int
myDiv a b = 
      let x = fromIntegral a
          y = fromIntegral b
      in truncate (x / y)

Mais je veux trouver une solution plus simple. Quelque chose comme ça:

myDiv :: Int -> Int -> Int
myDiv a b = a / b

Comment puis-je diviser Int en Int et obtenir Int?

75
demas

Pourquoi ne pas simplement utiliser quot?

quot a b

est le quotient entier des entiers a et b tronqué vers zéro.

135
Pointy

Voici ce que j'ai fait pour créer le mien:

quot' a b
         | a<b = 0  -- base case
         | otherwise = 1 + quot' a-b b
1
Jacob Stewart