別の無関係なインターネット フォーラムで、特定の数値の平方根が整数かどうかを確認する方法について質問がありました。それ自体は些細な宿題の質問ですが、すべての状況下で素朴なアプローチが正しいかどうか疑問に思い始めました。つまり、擬似コードでは次のようになります。
declare x, y as double
input x
y = sqrt(x)
if round(y) = y then
output "Is integer"
else
output "Isn't integer"
x
それx
自体が整数 (または別の整数の 2 乗ではない整数) ではなく、浮動小数点エラーのために整数にsqrt(x)
なるような を入力することは可能ですか?