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

การคำนวณ Lunar Sum ของตัวเลข - JavaScript

Lunar Sum (หรือ Dismal Addition) คือการบวกตัวเลขโดยไม่ได้บวกหลักตรงกัน แต่เอาค่าที่มากกว่าของแต่ละหลัก

ตัวอย่าง

879 + 768
หลักร้อย: max(8,7) = 8
หลักสิบ:  max(7,6) = 7
หลักหน่วย: max(9,8) = 9
ผลลัพธ์: 879

ตัวอย่างโค้ด

const num1 = 6565;
const num2 = 7385;

const lunarSum = (num1, num2) => {
  const numStr1 = String(num1);
  const numStr2 = String(num2);
  let res = 0;

  for (let i = 0; i < numStr1.length; i++) {
    const temp = Math.max(+numStr1[i], +numStr2[i]);
    res = res * 10 + temp;
  }
  return res;
};

console.log(lunarSum(num1, num2));

สมมติฐาน

โค้ดสมมติว่าตัวเลขทั้งสองมีจำนวนหลักเท่ากัน หากไม่เท่ากันต้อง pad ด้วย 0 ด้านหน้า

ผลลัพธ์

7585

คณิตศาสตร์: Lunar arithmetic เป็นระบบคณิตศาสตร์แบบไม่มาตรฐาน ใช้ในทฤษฎีเลขคณิตเชิงนามธรรม