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

ライブラリ関数を使用せずに数値の平方根を見つける-JavaScript


Math.sqrt()関数を使用せずに、数値を取り込んでその平方根を計算するJavaScript関数を作成する必要があります。

以下はコードです-

const square = (n, i, j) => {
   let mid = (i + j) / 2;
   let mul = mid * mid;
   if ((mul === n) || (Math.abs(mul - n) < 0.00001)){
      return mid;
   }else if (mul < n){
      return square(n, mid, j);
   }else{
      return square(n, i, mid);
   }
}
// Function to find the square root of n
const findSqrt = num => {
   let i = 1;
   const found = false;
   while (!found){
      // If n is a perfect square
      if (i * i === num){
         return i;
      }else if (i * i > num){
         let res = square(num, i - 1, i);
         return res;
      };
      i++;
   }
}
console.log(findSqrt(33));

出力

これにより、コンソールに次の出力が生成されます-

5.744562149047852

コードを理解する

i=1からループオーバーしました。

i * i =nの場合、nは平方根がiである完全な正方形であるため、iを返します。それ以外の場合、i*iがnよりも大きい最小のiを見つけます。

これで、nの平方根が区間i –1とiにあることがわかりました。次に、二分探索アルゴリズムを使用して平方根を見つけました。


  1. JavaScriptのライブラリ関数を使用せずにASCII値からアルファベットを検索する

    問題 数値を取り込むJavaScript関数を作成する必要があります。この関数は、その数値に対応するASCIIアルファベットを返す必要があります(そのASCII値にアルファベットが存在する場合)。それ以外の場合は-1を返します。 ここでの条件は、これらの値を変換する組み込み関数を使用できないことです。 例 以下はコードです- const num = 98; const findChar = (num = 1) => {    const alpha = 'abcdefghijklmnopqrstuvwxyz';    if(n

  2. C ++で平方根を見つけずに、数値が完全な平方であるかどうかを確認します

    数が与えられたとすると、その数が完全な正方形であるかどうかを確認する必要があります。平方根演算を使用してチェックすることはしません。 1024という数があるとすると、これは完全な正方形ですが、1000は完全な正方形ではありません。ロジックは単純です。結果を得るには、このアルゴリズムに従う必要があります。 アルゴリズム isPerfectSquare(n)- 入力 −数n 出力 −数値が完全な正方形の場合はtrue、それ以外の場合はfalse begin    for i := 1, i2 ≤ n, increase i by 1:   &nbs