Trong bài toán này, chúng ta có ba giá trị nguyên a, b và n. Nhiệm vụ của chúng ta là tìm x và y thỏa mãn ax + by =n.
Hãy lấy một ví dụ để hiểu vấn đề
Input : a = 4, b = 1, n = 5 Output : x = 1, y = 1
Phương pháp tiếp cận giải pháp
Một giải pháp đơn giản cho vấn đề là tìm giá trị từ 0 đến n thỏa mãn phương trình. Chúng tôi sẽ làm điều này bằng cách sử dụng các dạng đã thay đổi của phương trình.
x = (n - by)/a y = (n- ax)/b
Nếu chúng tôi nhận được một giá trị thỏa mãn phương trình, chúng tôi sẽ in các giá trị nếu không sẽ in " không tồn tại nghiệm ".
Ví dụ
Chương trình minh họa hoạt động của giải pháp của chúng tôi
#include <iostream> using namespace std; void findSolution(int a, int b, int n){ for (int i = 0; i * a <= n; i++) { if ((n - (i * a)) % b == 0) { cout<<i<<" and "<<(n - (i * a)) / b; return; } } cout<<"No solution"; } int main(){ int a = 2, b = 3, n = 7; cout<<"The value of x and y for the equation 'ax + by = n' is "; findSolution(a, b, n); return 0; }
Đầu ra
The value of x and y for the equation 'ax + by = n' is 2 and 1