Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

주어진 숫자로 나눌 수 있는 짝수와 홀수의 합을 갖는 모든 n자리 숫자 찾기 - JavaScript

<시간/>

세 개의 숫자를 받는 JavaScript 함수를 작성해야 합니다. 세 개의 숫자가, b, n이라고 가정해 보겠습니다.

우리의 임무는 짝수 위치와 홀수 위치의 자릿수의 합이 각각 및 b로 나누어 떨어지는 모든 n자리 숫자를 찾는 것입니다. 그리고 마지막으로 필요한 모든 숫자가 포함된 배열을 반환해야 합니다. 일치하는 숫자가 없으면 배열이 비어 있어야 합니다.

예시

다음은 코드입니다 -

const indexSum =(num, sumOdd =0, sumEven =0, index =0) => { if(num){ if(index % 2 ===0){ sumEven +=num % 10; }else{ sumOdd +=숫자 % 10; }; 반환 indexSum(Math.floor(num / 10), sumOdd, sumEven, ++index); }; return {sumOdd, sumEven};};const 나눗셈 =(b, a) => a % b ===0;const countNum =(n, 첫 번째, 두 번째) => { let start =Math.pow(10, ( n-1)); const end =Math.pow(10, n)-1; 상수 해상도 =[]; while(시작 <=끝){ const { sumEven, sumOdd } =indexSum(시작); const 조건 =나누기(첫 번째, sumEven) &&나누기(초, sumOdd); if(조건){ res.push(시작); }; 시작++; }; 반환 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, 2, 3, 302, 307, 3, 3 397, 401, 406, 431, 436, 461, 466, 491, 496, 500, 505, 530, 535, 560, 6, 6, 65, 560, 6, 65, 590, 595, 604, 3,409,6,3,4,9,6 703, 708, 733, 738, 763, 768, 793, 798, 802, 807, 832, 837, 862, 867, 892, 897, 901, 906, 368, 793, 807, 832, 837, 892, 897, 901, 91, 91 사전>