 GeeksforGeeks App
Open App Browser
Continue

# Find numbers a and b that satisfy the given conditions

Given an integer n, the task is to find two integers a and b which satisfy the below conditions:

1. a % b = 0
2. a * b > n
3. a / b < n

If no pair satisfies the above conditions then print -1
Note: There can be multiple (a, b) pairs satisfying the above conditions for n.
Examples:

```Input: n = 10
Output: a = 90, b = 10
90 % 10 = 0
90 * 10 = 900 > 10
90 / 10 = 9 < 10
All three conditions are satisfied.

Input: n = 1
Output: -1```

Approach: Let’s suppose b = n, by taking this assumption a can be found based on the given conditions:

• (a % b = 0) => a should be multiple of b.
• (a / b < n) => a / b = n – 1 which is < n.
• (a * b > n) => a = n.

Algorithm :

Step 1: Start
Step 2: Create a static function called to find which takes an integer value as input.
Step 3: Create a variable called b and initialize it with the input integer n.
Step 4: Now, create another variable called a and store the multiplication of b and (n-1) in it.
Step 5: Now, set the condition If (a * b > n) and (a / b < n), then print the values of a and b else print -1.
Step 6: End

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the above approach``#include ``using` `namespace` `std;` `// Function to print the required numbers``void` `find(``int` `n)``{``    ``// Suppose b = n and we want a % b = 0 and also``    ``// (a / b) < n so a = b * (n - 1)``    ``int` `b = n;``    ``int` `a = b * (n - 1);` `    ``// Special case if n = 1``    ``// we get a = 0 so (a * b) < n``    ``if` `(a * b > n && a / b < n) {``        ``cout << ``"a = "` `<< a << ``", b = "` `<< b;``    ``}` `    ``// If no pair satisfies the conditions``    ``else``        ``cout << -1 << endl;``}` `// Driver code``int` `main()``{``    ``int` `n = 10;``    ``find(n);``    ``return` `0;``}`

## Java

 `// Java implementation of the above approach` `public` `class` `GFG{` `    ``// Function to print the required numbers``    ``static` `void` `find(``int` `n)``    ``{``        ``// Suppose b = n and we want a % b = 0 and also``        ``// (a / b) < n so a = b * (n - 1)``        ``int` `b = n;``        ``int` `a = b * (n - ``1``);``    ` `        ``// Special case if n = 1``        ``// we get a = 0 so (a * b) < n``        ``if` `(a * b > n && a / b < n) {``            ``System.out.print(``"a = "` `+ a + ``", b = "` `+ b);``        ``}``    ` `        ``// If no pair satisfies the conditions``        ``else``            ``System.out.println(-``1``);``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `main(String []args)``    ``{``        ``int` `n = ``10``;``        ``find(n);``    ``}``    ``// This code is contributed by Ryuga``}`

## Python3

 `# Python3 implementation of the above approach` `# Function to print the required numbers``def` `find(n):` `    ``# Suppose b = n and we want a % b = 0``    ``# and also (a / b) < n so a = b * (n - 1)``    ``b ``=` `n``    ``a ``=` `b ``*` `(n ``-` `1``)` `    ``# Special case if n = 1``    ``# we get a = 0 so (a * b) < n``    ``if` `a ``*` `b > n ``and` `a ``/``/` `b < n:``        ``print``(``"a = {}, b = {}"` `. ``format``(a, b))``    ` `    ``# If no pair satisfies the conditions``    ``else``:``        ``print``(``-``1``)` `# Driver Code``if` `__name__ ``=``=` `"__main__"``:` `    ``n ``=` `10``    ``find(n)` `# This code is contributed by Rituraj Jain`

## C#

 `// C# implementation of the above approach``using` `System;` `class` `GFG``{` `// Function to print the required numbers``static` `void` `find(``int` `n)``{``    ``// Suppose b = n and we want a % b = 0``    ``// and also (a / b) < n so a = b * (n - 1)``    ``int` `b = n;``    ``int` `a = b * (n - 1);` `    ``// Special case if n = 1``    ``// we get a = 0 so (a * b) < n``    ``if` `(a * b > n && a / b < n)``    ``{``        ``Console.Write(``"a = "` `+ a + ``", b = "` `+ b);``    ``}` `    ``// If no pair satisfies the conditions``    ``else``        ``Console.WriteLine(-1);``}` `// Driver code``public` `static` `void` `Main()``{``    ``int` `n = 10;``    ``find(n);``}``}` `// This code is contributed``// by Akanksha Rai`

## PHP

 ` ``\$n` `&& ``\$a` `/ ``\$b` `<``\$n``) {``        ``echo` `"a = "` `, ``\$a` `, ``", b = "` `, ``\$b``;``    ``}` `    ``// If no pair satisfies the conditions``    ``else``        ``echo` `-1 ;``}` `// Driver code` `    ``\$n` `= 10;``    ``find(``\$n``);``// This code is contributed``// by inder_verma..``?>`

## Javascript

 ``

Output:

`a = 90, b = 10`

Time Complexity: O(1), since there is no loop or recursion.
Auxiliary Space: O(1), since no extra space has been taken.

My Personal Notes arrow_drop_up