Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm tất cả các số có n chữ số có tổng các chữ số chẵn và lẻ chia hết cho các số đã cho - JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript có ba số. Giả sử ba số là a, b và n.

Công việc của chúng ta là tìm tất cả các số có n chữ số mà tổng các chữ số ở vị trí chẵn và vị trí lẻ lần lượt chia hết cho a và b. Và cuối cùng chúng ta phải trả về một mảng chứa tất cả các số bắt buộc, mảng phải trống nếu không có số nào phù hợp.

Ví dụ

Sau đây là mã -

 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 (đầu tiên, sumEven) &÷s (thứ hai, sumOdd); if (điều kiện) {res.push (start); }; bắt đầu ++; }; trả về res;}; console.log (countNum (3, 5, 3)); 

Đầu ra

Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -

 [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]