Dados los valores de A y B, encuentre el valor entero positivo mínimo de X que se puede lograr en la ecuación X = P*A + P*B, aquí P y Q pueden ser cero o cualquier número entero positivo o negativo.
Ejemplos:
Input: A = 3 B = 2 Output: 1 Input: A = 2 B = 4 Output: 2
Básicamente, necesitamos encontrar P y Q tales que P*A > P*B y P*A – P*B sea el número entero positivo mínimo. Este problema se puede resolver fácilmente calculando el MCD de ambos números.
Por ejemplo:
For A = 2 And B = 4 Let P = 1 And Q = 0 X = P*A + Q*B = 1*2 + 0*4 = 2 + 0 = 2 (i. e GCD of 2 and 4) For A = 3 and B = 2 let P = -1 And Q = 2 X = P*A + Q*B = -1*3 + 2*2 = -3 + 4 = 1 ( i.e GCD of 2 and 3 )
A continuación se muestra la implementación de la idea anterior:
CPP
// CPP Program to find // minimum value of X // in equation X = P*A + Q*B #include <bits/stdc++.h> using namespace std; // Utility function to calculate GCD int gcd(int a, int b) { if (a == 0) return b; return gcd(b % a, a); } // Driver Code int main() { int a = 2; int b = 4; cout << gcd(a, b); return 0; }
Java
// Java Program to find // minimum value of X // in equation X = P*A + Q*B import java.util.*; import java.lang.*; class GFG { // utility function to calculate gcd public static int gcd(int a, int b) { if (a == 0) return b; return gcd(b % a, a); } // Driver Program public static void main(String[] args) { int a = 2; int b = 4; System.out.println(gcd(a, b)); } }
Python3
# Python3 Program to find # minimum value of X # in equation X = P * A + Q * B # Function to return gcd of a and b def gcd(a, b): if a == 0: return b return gcd(b % a, a) a = 2 b = 4 print(gcd(a, b))
C#
// CSHARP Program to find // minimum value of X // in equation X = P*A + Q*B using System; class GFG { // function to get gcd of a and b public static int gcd(int a, int b) { if (a == 0) return b; return gcd(b % a, a); } // Driver Code static public void Main() { int a = 2; int b = 4; Console.WriteLine(gcd(a, b)); } }
PHP
// PHP Program to find // minimum value of X // in equation X = P*A + Q*B <?php // Function to return // gcd of a and b function gcd($a, $b) { if ($a == 0) return $b; return gcd($b % $a, $a); } // Driver Code $a = 2; $b = 4; echo gcd($a, $b); ?>
Javascript
<script> // javascript Program to find // minimum value of X // in equation X = P*A + Q*B // utility function to calculate gcd function gcd(a , b) { if (a == 0) return b; return gcd(b % a, a); } // Driver Program var a = 2; var b = 4; document.write(gcd(a, b)); // This code contributed by umadevi9616 </script>
Producción
2