# Find smallest number K such that K % p = 0 and q % K = 0

• Last Updated : 03 May, 2021

Given two integers p and q, the task is to find the smallest number K such that K % p = 0 and q % K = 0. If no such K is possible then print -1.
Examples:

Input: p = 2, q = 8
Output:
2 % 2 = 0 and 8 % 2 = 0
Input: p = 5, q = 14
Output: -1

Approach: In order for K to be possible, q must be divisible by p

• If q % p = 0 then print p
• Else print -1.

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach` `#include ` `using` `namespace` `std;`   `// Function to return the minimum` `// value K such that K % p = 0` `// and q % k = 0` `int` `getMinVal(``int` `p, ``int` `q)` `{`   `    ``// If K is possible` `    ``if` `(q % p == 0)` `        ``return` `p;`   `    ``// No such K is possible` `    ``return` `-1;` `}`   `// Driver code` `int` `main()` `{` `    ``int` `p = 24, q = 48;` `    ``cout << getMinVal(p, q);`   `    ``return` `0;` `}`

## Java

 `// Java implementation of the approach` `import` `java.io.*;`   `class` `GFG` `{` `    `  `// Function to return the minimum` `// value K such that K % p = 0` `// and q % k = 0` `static` `int` `getMinVal(``int` `p, ``int` `q)` `{`   `    ``// If K is possible` `    ``if` `(q % p == ``0``)` `        ``return` `p;`   `    ``// No such K is possible` `    ``return` `-``1``;` `}`   `// Driver code` `public` `static` `void` `main (String[] args) ` `{` `    ``int` `p = ``24``, q = ``48``;` `    ``System.out.println(getMinVal(p, q));` `}` `}`   `// This code is contributed by jit_t.`

## Python3

 `# Python3 implementation of the approach`   `# Function to return the minimum ` `# value K such that K % p = 0 ` `# and q % k = 0` `def` `getMinVal(p, q):`   `    ``# If K is possible` `    ``if` `q ``%` `p ``=``=` `0``:` `        ``return` `p`   `    ``# No such K is possible` `    ``return` `-``1`   `# Driver code` `p ``=` `24``; q ``=` `48` `print``(getMinVal(p, q))`   `# This code is contributed` `# by Shrikant13`

## C#

 `// C# implementation of the approach` `using` `System;`   `class` `GFG` `{` `    `  `// Function to return the minimum` `// value K such that K % p = 0` `// and q % k = 0` `static` `int` `getMinVal(``int` `p, ``int` `q)` `{`   `    ``// If K is possible` `    ``if` `(q % p == 0)` `        ``return` `p;`   `    ``// No such K is possible` `    ``return` `-1;` `}`   `// Driver code` `public` `static` `void` `Main () ` `{` `    ``int` `p = 24, q = 48;` `    ``Console.WriteLine(getMinVal(p, q));` `}` `}`   `// This code is contributed ` `// by Code_Mech.`

## PHP

 ``

## Javascript

 ``

Output:

`24`

My Personal Notes arrow_drop_up
Recommended Articles
Page :