ปัญหา
เราต้องเขียนฟังก์ชัน 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