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

JavaScriptを使用してディオファントス方程式のすべての解を見つける


問題

数値nを受け取るJavaScript関数を作成する必要があります。私たちの関数は、-

となるようなすべてのそのような数xとyを見つける必要があります
x^2 - 4y^2 = n.

そして、そのようなすべてのペアの配列を返す必要があります。

以下はコードです-

const num = 90005;
const findSolution = (num = 1) => {
   const res = [];
   let a, b;
   for(let a = 1; a <= Math.sqrt(num); a++){
      if(Number.isInteger(b = num/a)){
         if(Number.isInteger(x = (b+a)/2)){
            if(Number.isInteger(y = (b-a)/4)){
               res.push([x, y]);
            };
         };
      };
   };
   return res;
};
console.log(findSolution(num));

出力

[ [ 45003, 22501 ], [ 9003, 4499 ], [ 981, 467 ], [ 309, 37 ] ]

  1. JavaScriptを使用して配列内の特定の番号に最も近い2つの要素を検索する

    問題 ソートされた整数の配列arrを最初の引数として受け取り、ターゲット番号を2番目の引数として受け取るJavaScript関数を作成する必要があります。 この関数は、配列arrに存在し、ターゲットに最も近い2つの数値の配列を返す必要があります。出力配列も昇順で並べ替える必要があります。 たとえば、関数への入力が 入力 const arr = [1, 2, 3, 4, 5]; const target = 3; 出力 const output = [2, 3]; 例 以下はコードです- const arr = [1, 2, 3, 4, 5]; const target = 3;

  2. C ++を使用して、方程式x + y + z<=nの解の数を求めます。

    この記事では、方程式x + y + z<=nの解の数を見つけるためのアプローチについて説明します。この問題では、4つの変数を持つ方程式があり、タスクは与えられた方程式の解を見つけることです。簡単な例を次に示します&miuns; Input: X = 1, Y = 1, Z = 1, n = 1 Output: 4 Input: X = 1, Y = 2, Z = 3, n = 4 Output: 3 この問題では、各変数を分離し、それが方程式を満たしているかどうかを確認することで、(x、y)、(y、z)、(x、z)のすべての値を簡単に調べることができます。 解決策を見つけるためのアプ