完全平方数とは?
完全平方数(平方数)とは、ある整数を2回かけ合わせて表せる整数のことです。たとえば 49 は \(7 \times 7 = 49\) となるので完全平方数であり、144 も \(12 \times 12 = 144\) なので完全平方数です。一方、50 や 2 のように、どんな整数を2乗しても得られない数は完全平方数ではありません。このツールに整数を入力すると、それが完全平方数かどうかを瞬時に判定し、平方数であれば「どの整数の2乗なのか」まで表示します。
使い方
0 以上の整数を入力欄に入力して実行するだけです。ツールはまず平方根を計算し、その整数部分(平方根を超えない最大の整数)を求めます。次に、その整数を2乗して元の数と一致するかを比較します。ぴったり一致すれば完全平方数と判定し、対応する整数の平方根を表示します。一致しない場合は完全平方数ではない旨を伝え、おおよその(無理数の)平方根も示します。
計算式の仕組み
この判定は、とてもシンプルな関係式に基づいています。0 以上の整数 n が完全平方数であるための必要十分条件は次のとおりです。
$$\left(\left\lfloor \sqrt{n} \right\rfloor\right)^{2} = n$$ここで \(\left\lfloor \sqrt{n} \right\rfloor\) は、平方根を計算してから整数部分(小数点以下を切り捨てた最も近い整数)を取ることを意味します。この整数を2乗して n と比較することで、平方根の値をそのまま比較する場合に起こりがちな浮動小数点の誤差による誤判定を避けられます。
具体例
n = 144 の場合を考えます。平方根は 12.0、その整数部分は 12 で、
$$12^{2} = 144$$となり n と一致します。したがって 144 は完全平方数です。次に n = 150 の場合、平方根は約 12.247、整数部分は 12 で、
$$12^{2} = 144 \neq 150$$となります。よって 150 は完全平方数ではありません。
よくある質問
0 は完全平方数ですか? はい。\(0 = 0 \times 0\) なので、0 は完全平方数とみなされます。
負の数は完全平方数になりますか? いいえ。実数を2乗すると必ず 0 以上になるため、負の数が完全平方数になることはありません。
小数を入力したらどうなりますか? 完全平方数は整数に対して定義されるため、ツールは入力値を最も近い整数に四捨五入してから判定します。