在C++中查找满足ax – by = 0的x和y的最小值
假设我们有两个值a和b。我们必须找到x和y,使得ax – by = 0。所以如果a = 25,b = 35,那么x = 7,y = 5。
为了解决这个问题,我们必须计算a和b的最小公倍数(LCM)。a和b的最小公倍数将是使两边相等的最小的值。可以使用以下公式通过计算数字的最大公约数(GCD)来找到最小公倍数:
LCM(a,b) = (a*b)/GCD(a,b)
示例
#include<iostream> #include<algorithm> using namespace std; void getSmallestXY(int a, int b) { int lcm = (a * b) / __gcd(a, b); cout << "x = " << lcm / a << "\ny = " << lcm / b; } int main() { int a = 12, b = 26; getSmallestXY(a, b); }
输出
x = 13 y = 6
广告