我有一个简单的功能,即 毕达哥拉斯三角形的斜边,但为Int类型。
这是我的代码:
hypotenuse :: Int -> Int -> Int
hypotenuse a b = sqrt(a*a + b*b)
我需要对结果进行取整。
例如:hypotenuse 500 0 --result:500 :: Int
hypotenuse 500 30 --result:501 :: Int
答案 0 :(得分:2)
在没有明确说明解决方案的情况下,您可能会发现以下一些方便的功能:
fromIntegral :: (Integral a, Num b) => a -> b
; sqrt :: (Floating a) => a -> a
; floor, ceiling :: (RealFrac a, Integral b) => a -> b
。您的hypotenuse
函数的详细信息由您决定,因此,我将根据您的意愿决定实现方式。