Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การหาจำนวน n หลักทั้งหมดที่มีผลรวมของเลขคู่และตำแหน่งคี่หารด้วยตัวเลขที่กำหนด - JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่มีตัวเลขสามตัว สมมติว่าตัวเลขสามตัวคือ a, b และ n

งานของเราคือค้นหาตัวเลข n ทั้งหมดที่มีผลรวมของหลักในตำแหน่งคู่และตำแหน่งคี่ที่หารด้วย a และ b ตามลำดับ และสุดท้ายเราต้องคืนค่าอาร์เรย์ที่มีตัวเลขที่จำเป็นทั้งหมด อาร์เรย์ควรว่างเปล่าหากไม่มีตัวเลขที่ตรงกัน

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

<ก่อน>const indexSum =(num, sumOdd =0, sumEven =0, index =0) => { if(num){ if(index % 2 ===0){ sumEven +=num % 10; }อื่น{ sumOdd +=num % 10; }; ส่งคืน indexSum(Math.floor(num / 10), sumOdd, sumEven, ++index); }; คืนค่า {sumOdd, sumEven};};const หาร =(b, a) => a % b ===0;const countNum =(n ก่อน วินาที) => { เริ่มต้น =Math.pow (10, ( n-1)); const end =Math.pow(10, n)-1; const res =[]; ในขณะที่ (เริ่มต้น <=สิ้นสุด) { const { sumEven, sumOdd } =indexSum (เริ่ม); เงื่อนไข const =หาร (ก่อน, sumEven) &&หาร (ที่สอง, sumOdd); if(เงื่อนไข){ res.push(เริ่ม); }; เริ่ม++; }; 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]