두 개의 Int
s ( a
및 b
) 를 얻고 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