【发布时间】:2015-03-30 06:55:08
【问题描述】:
我需要一个简单的函数
is_square :: Int -> Bool
确定 Int N 是否为完美正方形(是否存在整数 x 使得 x*x = N)。
当然我可以写类似的东西
is_square n = sq * sq == n
where sq = floor $ sqrt $ (fromIntegral n::Double)
但它看起来很糟糕!也许有一种常见的简单方法来实现这样的谓词?
【问题讨论】: