Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ผลรวมเลขคู่จาก n ถึง m ไม่สนใจ nm ใน JavaScript


เราต้องเขียนฟังก์ชันที่รับสองตัวเลขเป็นอาร์กิวเมนต์ m และ n และคืนค่าผลรวมของเลขคู่ทั้งหมดที่อยู่ระหว่าง m และ n (รวมทั้งสองข้าง)

ตัวอย่าง −

ถ้า m = 10 และ n = -4

ผลลัพธ์ควรเป็น 10+8+6+4+2+0+(-2)+(-4) = 24

วิธีการ

เราจะคำนวณผลรวมเลขคู่ทั้งหมดจนถึง n และผลรวมเลขคู่ทั้งหมดจนถึง m ก่อน

จากนั้นตรวจสอบว่าระหว่าง m และ n ตัวไหนใหญ่กว่า ลบผลรวมของตัวเล็กออกจากผลรวมของตัวใหญ่ ซึ่งจะให้ผลรวมระหว่าง m และ n ในที่สุด

สูตร

ผลรวมของเลขคู่ทั้งหมดจาก 0 ถึง N กำหนดโดย −

$$\frac{N\times(N+2)}{4}$$

ดังนั้น มาใส่ทั้งหมดนี้ในโค้ด −

ตัวอย่าง

const sumEven = n => (n*(n+2))/4; const evenSumBetween = (a, b) => {    return a > b ? sumEven(a) - sumEven(b) + b : sumEven(b) - sumEven(a) + a; }; console.log(evenSumBetween(-4, 10)); console.log(evenSumBetween(4, 16)); console.log(evenSumBetween(0, 10)); console.log(evenSumBetween(8, 8)); console.log(evenSumBetween(-4, 4));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้

24 70 30 8 0