// Contoh Bab 15: algoritma Euclid diperluas. // // Mencari x dan y yang memenuhi a*x + b*y = FPB(a, b). // // Compile: g++ -std=c++17 -O2 -o euclidluas exercises/15/03-euclid-luas.cpp // Jalankan: ./euclidluas // Contoh masukan: 240 46 #include using namespace std; long long fpb_luas(long long a, long long b, long long &x, long long &y) { if (b == 0) { x = 1; y = 0; return a; } long long x1, y1; long long g = fpb_luas(b, a % b, x1, y1); x = y1; y = x1 - (a / b) * y1; return g; } int main() { long long a, b, x, y; cin >> a >> b; long long g = fpb_luas(a, b, x, y); cout << "FPB = " << g << "\n"; cout << "x = " << x << ", y = " << y << "\n"; cout << "periksa: " << a << "*" << x << " + " << b << "*" << y << " = " << a * x + b * y << "\n"; return 0; }