Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 ax – by =0이 되도록 x와 y의 가장 작은 값 찾기

<시간/>

두 개의 값과 b가 있다고 가정합니다. ax – by =0이 되도록 x와 y를 찾아야 합니다. 따라서 a =25이고 b =35이면 x =7이고 y =5입니다.

이를 해결하기 위해 a 및 b의 LCM을 계산해야 합니다. a 및 b의 LCM은 양쪽을 동일하게 만들 수 있는 가장 작은 값입니다. LCM은 다음 공식을 사용하여 숫자의 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