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

与えられた数で割り切れる偶数と奇数の位置の数字の合計を持つすべてのn桁の数字を見つける-JavaScript


3つの数値を受け取るJavaScript関数を作成する必要があります。 3つの数字がa、b、nだとしましょう。

私たちの仕事は、偶数の位置と奇数の位置の桁の合計がそれぞれaとbで割り切れるすべてのn桁の数値を見つけることです。最後に、必要なすべての番号を含む配列を返す必要があります。一致する番号がない場合は、配列を空にする必要があります。

以下はコードです-

const indexSum = (num, sumOdd = 0, sumEven = 0, index = 0) => {
   if(num){
      if(index % 2 === 0){
         sumEven += num % 10;
      }else{
      sumOdd += num % 10;
   };
   return indexSum(Math.floor(num / 10), sumOdd, sumEven, ++index);
   };
   return {sumOdd, sumEven};
};
const divides = (b, a) => a % b === 0;
const countNum = (n, first, second) => {
   let start = Math.pow(10, (n-1));
   const end = Math.pow(10, n)-1;
   const res = [];
   while(start <= end){
      const { sumEven, sumOdd } = indexSum(start);
      const condition = divides(first, sumEven) && divides(second,sumOdd);
      if(condition){
         res.push(start);
      };
      start++;
   };
   return res;
};
console.log(countNum(3, 5, 3));

出力

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

[
   104, 109, 134, 139, 164, 169, 194, 199, 203,
   208, 233, 238, 263, 268, 293, 298, 302, 307,
   332, 337, 362, 367, 392, 397, 401, 406, 431,
   436, 461, 466, 491, 496, 500, 505, 530, 535,
   560, 565, 590, 595, 604, 609, 634, 639, 664,
   669, 694, 699, 703, 708, 733, 738, 763, 768,
   793, 798, 802, 807, 832, 837, 862, 867, 892,
   897, 901, 906, 931, 936, 961, 966, 991, 996
]

  1. C ++で桁の合計が3で割り切れる[L、R]の範囲内のすべての偶数の数

    範囲[L、R]を定義する2つの数値LとRが与えられます。目標は、LとRの間で偶数であり、その桁の合計が3で割り切れるすべての数値を見つけることです。 これを行うには、LとRの間のすべての偶数の桁の合計を計算し、その合計が%3==0の場合はカウントをインクリメントします。 例を挙げて理解しましょう。 入力 − L =10、R =20 出力 −桁の合計が3:2で割り切れる[L、R]の範囲内のすべての偶数の数 説明 −偶数の10から20までの数字。 10,12,14,16,18,20。その桁の合計は3=12と18で割り切れます。 入力 − L =100、R =108 出力 −桁の合

  2. 整数リストのすべての偶数桁と奇数桁の合計を見つけるPythonプログラム

    整数リストのすべての偶数桁と奇数桁の合計を求める必要がある場合は、単純な反復と「モジュラス」演算子が使用されます。 以下は同じのデモンストレーションです- 例 my_list = [369, 793, 2848, 4314, 57467] print("The list is :") print(my_list) sum_odd = 0 sum_even = 0 for index in my_list:    for element in str(index):       if int(element) % 2