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

JavaScriptを使用して入力数まで合計する可能性のあるすべての素数ペアを見つける


問題

数値nを受け取るJavaScript関数を作成する必要があります。この関数は、合計するとnであり、両方が素数であるようなすべての数値ペアの配列を返す必要があります。

以下はコードです-

const num = 26;
const isPrime = (n) => {
   if (n % 2 === 0) return false;
   let sqrtn = Math.sqrt(n)+1;
   for (let i=3; i < sqrtn; i+=2) {
      if (n % i === 0) return false;
   }
   return true;
}
const primeList = (a) => {
   if (isPrime(a)) return a; else return false;
};
const generateNumbers = (n) => {
   let num = (n % 2 === 0) ? (n -1) : n;
   let list = []
   for (let i = num; i > 3; i-=2)
      list.push(i);
   list.push(3,1);
   return list;
}
const calculate = (num, list, results) => {
   if (list.length === 0) return results;
      let item = list.shift();
   let itemPairIndex = list.indexOf(num - item);
   if (itemPairIndex !== -1) {
      let itemPair = list.splice(itemPairIndex,1)
      results.push(item+"+"+itemPair);
   }
   return calculate(num, list, results);
}
const findprimeSum = (num) => {
   const pairs = [];
   const list = generateNumbers(num).filter(primeList);
   return calculate(num, list, []);
}
console.log(findprimeSum(num));

出力

[ '23+3', '19+7' ]

  1. JavaScriptを使用して、配列内に一致する正または負の数がない配列番号を検索する

    問題 整数の配列を受け取るJavaScript関数を作成する必要があります。配列内の各数値について、その負または正の褒め言葉も配列内に存在しますが、正確に1つの数値については、褒め言葉はありません。 この関数は、配列からその数値を見つけて返す必要があります。 例 以下はコードです- const arr = [1, -1, 2, -2, 3]; const findOddNumber = (arr = []) => {    let count = 0;    let number = arr.reduce((total, num) =>

  2. JavaScriptを使用して配列内のすべての一般的な要素の合計を見つける

    問題 3つの数値配列を受け取るJavaScript関数を作成する必要があります。この関数は、3つの配列すべてに共通するすべての数値の合計を返す必要があります。 例 以下はコードです- const arr1 = [4, 4, 5, 8, 3]; const arr2 = [7, 3, 7, 4, 1]; const arr3 = [11, 0, 7, 3, 4]; const sumCommon = (arr1 = [], arr2 = [], arr3 = []) => {    let sum = 0;    for(let i = 0; i