[haskell] Int를 Int로 나누고 Int 반환

두 개의 Ints ( ab) 를 얻고 A/B로 반환 하는 함수가 필요합니다 Int. 나는 그것이 A/B항상 정수 가 될 것이라고 확신합니다 .

내 해결책은 다음과 같습니다.

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

그러나 더 간단한 해결책을 찾고 싶습니다. 이 같은:

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

Int를 Int로 나누고 Int를 얻으려면 어떻게해야합니까?



답변

왜 그냥 사용하지 quot않습니까?

quot a b

0을 향해 잘린 정수 a와 b의 정수 몫입니다.


답변

다음은 내가 직접 만든 작업입니다.

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


답변