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

JavaScriptで残りの合計に等しい2つの数値を見つける


次の問題があるとします。

1から任意の数までの数列があります。これをnumと呼びましょう。次のように、シーケンスからそのような2つの番号を選択する必要があります(mとnと呼びましょう)。

sum(1 to num) - (m + n) = m * n

そして最後に、そのようなすべての番号のグループの配列を返す必要があります。

例-

入力が-

の場合
const num = 10;

その場合、出力は-

になります。
const output = [
   [7, 6]
];

sum(1から10)=55

そして、

55 - (6 + 7) = 6 * 7 = 42

このためのコードは-

になります
const num = 10;
const pickNumbers = num => {
   const sum = (num) * (num + 1) * (.5);
   const results = [];
   for (let n = 1; n <= num; n++) {
      let first = sum - n;
      let second = n + 1;
      if (first % second === 0) {
         let m = first / second;
         if (m < num && m !== n && results.every(group => group[0] + group[1]
         !== m + n)){
            results.push([m, n]);
         }
      }
   }
   return results;
}
console.log(pickNumbers(10));

出力

そして、コンソールの出力は-

になります
[
   [7, 6]
]

  1. JavaScriptの整数の中からn番目の回文数を見つける

    問題 数nをとるJavaScript関数を書く必要があります。 0からカウントを開始した場合、関数はn番目の回文数を返す必要があります。 たとえば、最初の回文は0、2番目は1、10番目は9、11番目は11になります。これは、10が回文ではないためです。 例 以下はコードです- const num = 31; const findNthPalindrome = (num = 1) => {    const isPalindrome = (num = 1) => {       const reverse = +String(n

  2. JavaScriptを使用して、増加する三角形のn行目のすべての数値の合計を見つける

    三角形の増加 この問題の目的のために、増加する三角形が次のようになると仮定します-    1   2 3  4 5 6 7 8 9 10 問題 数値nを受け取り、増加する三角形のn行目に存在する数値の合計を返すJavaScript関数を作成する必要があります。 例 以下はコードです- const num = 15; const rowSum = (num = 1) => {    const arr = [];    const fillarray = () => {