在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

更新於:2019年12月19日

119次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.