Vil*_*lx- 1 math floating-point square-root
在另一个不相关的互联网论坛上,有人询问如何检查给定数字的平方根是否为整数.现在本身就是一个微不足道的家庭作业问题,但我开始怀疑这种天真的方法在所有情况下是否都是正确的.也就是说,在伪代码中:
declare x, y as double
input x
y = sqrt(x)
if round(y) = y then
output "Is integer"
else
output "Isn't integer"
Run Code Online (Sandbox Code Playgroud)
是否有可能输入这样一个x,它x本身不是一个整数(或一个不是另一个整数的平方的整数),但由于浮点错误sqrt(x) 会是整数?