利用 JavaScript 求解丢番图方程的所有解法
问题
我们要求编写一个 JavaScript 函数,该函数接受一个数字 n。我们的函数应查找所有满足以下条件的数字 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 ] ]
广告