JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

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] という範囲が出力されます。

  1. バビロニア法による平方根の求め方【C++実装付きで解説】

    バビロニア法(Babylonian method)は、非線形方程式を解くための数値計算法であるニュートン・ラプソン法を基礎とする、平方根を求めるための古典的なアルゴリズムです。古代バビロンで使われていた計算手法に由来することから、この名前が付けられています。 アルゴリズムの基本的な考え方 この方法のアイデアは非常にシンプルです。まず任意の初期値 x(対象となる数値そのもの)と y = 1 を用意します。次に、x と y の平均値を取ることで、平方根のより良い近似値を得ます。その後、y の値を「元の数値 ÷ x」で更新します。この処理を、x と y の相対誤差が十分に小さくなるまで繰り返すことで

  2. Excelで数値の平方根を求める3つの方法【SQRT・POWER・指数演算子】

    Microsoft Excelは、複雑な計算を効率的に行える強力なツールです。Excelを日常的に使っている方なら、数学的な計算処理に触れる機会も多いのではないでしょうか。しかし、意外とシンプルな計算でつまずくこともあります。その代表例が「平方根の計算」です。この記事では、Excelで数値の平方根を求める3つの方法をわかりやすく解説します。 Excelで平方根を計算する基本 SQRT関数、POWER関数、そして指数演算子(^)を使えば、Excelで簡単に平方根を計算できます。それぞれの特徴と使い方を順番に見ていきましょう。 1. SQRT関数を使って平方根を求める SQRT関数は、Excelに