Related Articles
Find numbers a and b that satisfy the given conditions
• Difficulty Level : Easy
• Last Updated : 21 Dec, 2018

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
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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.

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..``?>`
Output:
```a = 90, b = 10
```

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up