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

การหาสองตัวเลขจากผลรวมและ HCF ใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลขสองตัว ตัวแรกแทนผลรวมของสองตัวเลข ตัวที่สองแทน HCF (GCD หรือ Greatest Common Divisor) ของพวกเขา ฟังก์ชันควรหาและคืนค่าสองตัวเลขนั้น

ตัวอย่าง

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

const sum = 12;
const gcd = 4;
const findNumbers = (sum, gcd) => {
  const res = [];
  if (sum % gcd !== 0) {
    return -1;
  } else {
    res.push(gcd);
    res.push(sum - gcd);
    return res;
  }
};
console.log(findNumbers(sum, gcd));

ผลลัพธ์

[4, 8]

คำอธิบายเพิ่มเติม

ถ้า a+b=sum และ gcd(a,b)=gcd → a=gcd×x, b=gcd×y โดย gcd(x,y)=1 และ x+y=sum/gcd โค้ดคืน [gcd, sum-gcd] ซึ่งเป็นคำตอบหนึ่งที่เป็นไปได้ (x=1, y=sum/gcd-1) ต้องมี sum%gcd=0