คำชี้แจงปัญหา
ค่าที่กำหนดของ A และ B ให้หาค่าจำนวนเต็มบวกขั้นต่ำของ X ที่สามารถทำได้ในสมการ X =P*A + Q*B โดยที่ P และ Q สามารถเป็นศูนย์หรือจำนวนเต็มบวกหรือค่าลบใดๆ
ตัวอย่าง
ถ้า A =2 และ B =4 คำตอบจะเป็น 2
อัลกอริทึม
- เราต้องหา P และ Q ให้ P*A> P*B และ P*A – P*B เป็นจำนวนเต็มบวกขั้นต่ำ
- ปัญหานี้แก้ไขได้ง่ายๆ ด้วยการคำนวณ GCD ของตัวเลขทั้งสอง)
ตัวอย่าง
#include <iostream>
using namespace std;
int getGcd(int a, int b) {
if (a == 0) {
return b;
}
return getGcd(b % a, a);
}
int main() {
cout << "Answer = " << getGcd(2, 4) << endl;
return 0;
} ผลลัพธ์
เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้น มันสร้างผลลัพธ์ต่อไปนี้ -
Answer = 2