Mình đang làm 1 bài toán tìm nghiệm của pt 2 ẩn bằng đệ quy.
Mà cụ thể là tìm x, y: UCLN(a,b) = a*x + b*y
Ngồi gần 2 tiếng rồi mà code vẫn chạy sai
Mn góp ý giúp mình với ạ.
Chỉ tìm 1 cặp thôi nhé mn
Mình đang làm 1 bài toán tìm nghiệm của pt 2 ẩn bằng đệ quy.
Mà cụ thể là tìm x, y: UCLN(a,b) = a*x + b*y
Ngồi gần 2 tiếng rồi mà code vẫn chạy sai
Mn góp ý giúp mình với ạ.
Chỉ tìm 1 cặp thôi nhé mn
Bạn cho mình nguyên văn cái đề bài nào?
Như trên
Với lại bạn code ntn nữa.
Đề là tìm cặp x, y : UCLN(a,b) = a * x + b * y.
Mình code đếm số bị trừ của mỗi cái rồi xuất ra, nhưng lỗi mỗi khi chuyên a > b sang b >a …
a, b là có sẵn phải không. Vậy bạn cho đại một x rồi tìm y thôi
~.~
hì hì, sr bạn. Mình thiếu sót quá ^^
chém gió cái, code C++ như pseudo code
#include <iostream>
#include <utility>
std::pair<int,int> bezoutCoefficients(int a, int b)
{
int s = 0, old_s = 1;
int t = 1, old_t = 0;
int r = b, old_r = a;
while (r)
{
int quotient = old_r / r;
old_r = std::exchange(r, old_r - quotient * r);
old_s = std::exchange(s, old_s - quotient * s);
old_t = std::exchange(t, old_t - quotient * t);
}
return {old_s, old_t};
}
int main()
{
auto [x, y] = bezoutCoefficients(66, 242);
std::cout << "x = " << x << ", y = " << y << "\n";
}
Bậc nhất mà có 2 ẩn à anh em @@.
Sao lại không mà đây là phương trình nghiệm nguyên.
Bị nhầm ẩn với nghiệm
2 ẩn nhưng chỉ có 1 nghiệm ( trừ trường hợp đặc biệt).
1 họ nghiệm số nghiệm nguyên là 0 hoặc vô số.