求x和y的最小值,使得ax –在C ++中为= 0
假设我们有两个值a和b。我们必须找到x和y,使得ax–by=0。因此,如果a=25且b=35,则x=7且y=5。
为了解决这个问题,我们必须计算a和b的LCM。a和b的LCM将是可以使双方相等的最小值。可以使用数字GCD使用以下公式找到LCM-
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