JavaScriptで平方根を整数または範囲として取得する方法
課題
JavaScriptで関数を作成し、整数 n を引数として受け取り、次のいずれかを返す必要があります。
nが平方数(完全平方数)である場合:k * k == nを満たす整数kをそのまま返すnが平方数でない場合:k * k < n < (k+1) * (k+1)を満たす連続する整数の範囲(k, k+1)を返す
コード例
以下がその実装です。
const num = 83;
const squareRootRange = (num = 1) => {
const exact = Math.sqrt(num);
if(exact === Math.floor(exact)){
return exact;
}else{
return [Math.floor(exact), Math.ceil(exact)];
};
};
console.log(squareRootRange(num));
出力結果
コンソールには以下のように出力されます。
[9, 10]
コードの解説
この関数は、まず Math.sqrt() によって num の平方根を計算します。計算結果が小数点以下を持たない場合(つまり Math.floor() を適用しても値が変わらない場合)、num は平方数であるため、その平方根をそのまま数値として返します。
一方、平方根に小数部分が含まれる場合は、Math.floor() で切り下げた値と Math.ceil() で切り上げた値を配列として返します。これにより、実際の平方根を挟む2つの整数からなる範囲が得られます。上記の例では、83の平方根は約9.11であるため、[9, 10] という範囲が出力されます。
-
バビロニア法による平方根の求め方【C++実装付きで解説】
バビロニア法(Babylonian method)は、非線形方程式を解くための数値計算法であるニュートン・ラプソン法を基礎とする、平方根を求めるための古典的なアルゴリズムです。古代バビロンで使われていた計算手法に由来することから、この名前が付けられています。 アルゴリズムの基本的な考え方 この方法のアイデアは非常にシンプルです。まず任意の初期値 x(対象となる数値そのもの)と y = 1 を用意します。次に、x と y の平均値を取ることで、平方根のより良い近似値を得ます。その後、y の値を「元の数値 ÷ x」で更新します。この処理を、x と y の相対誤差が十分に小さくなるまで繰り返すことで
-
Excelで数値の平方根を求める3つの方法【SQRT・POWER・指数演算子】
Microsoft Excelは、複雑な計算を効率的に行える強力なツールです。Excelを日常的に使っている方なら、数学的な計算処理に触れる機会も多いのではないでしょうか。しかし、意外とシンプルな計算でつまずくこともあります。その代表例が「平方根の計算」です。この記事では、Excelで数値の平方根を求める3つの方法をわかりやすく解説します。 Excelで平方根を計算する基本 SQRT関数、POWER関数、そして指数演算子(^)を使えば、Excelで簡単に平方根を計算できます。それぞれの特徴と使い方を順番に見ていきましょう。 1. SQRT関数を使って平方根を求める SQRT関数は、Excelに