Given two positive integers n and k. Find minimum positive integer x such that the (x % k) * (x / k) == n, where % is the modulus operator and / is the integer division operator.
Input : n = 4, k = 6 Output :10 Explanation : (10 % 6) * (10 / 6) = (4) * (1) = 4 which is equal to n Input : n = 5, k = 5 Output : 26
Naive Solution : A simple approach is to run a while loop until we find a solution which satisfies the given equation, but this would be very slow.
Efficient Solution : The key idea here is to notice that the value of (x % k) lies in the range [1, k – 1]. (0 is not included, since we can’t divide n by (x % k) when it is zero). Now, we need to find the largest possible number in the range that divides n and hence the given equation becomes x = (n * k) / (x % k) + (x % k).
Note : (x % k) is added to the answer since for the current value of modulus (x % k), it must not be contradicting that on one hand x is such that the remainder upon dividing by k is (x % k) and on the other x is (n * k) / (x % k) whose remainder is simply zero when we divide this value by k.
Below is the implementation of the above approach.
Time Complexity : O(k), where k is the given positive integer.
- Find minimum x such that (x % k) * (x / k) == n | Set-2
- Find the value of N when F(N) = f(a)+f(b) where a+b is the minimum possible and a*b = N
- Find the node whose xor with x gives minimum value
- Find minimum sum of factors of number
- Find minimum positive integer x such that a(x^2) + b(x) + c >= k
- Find minimum number of coins that make a given value
- Find the maximum possible value of the minimum value of modified array
- Find the minimum value of m that satisfies ax + by = m and all values after m also satisfy
- Find minimum speed to finish all Jobs
- Find the minimum number of steps to reach M from N
- Find minimum area of rectangle with given set of coordinates
- Find minimum possible digit sum after adding a number d
- Find the K-th minimum element from an array concatenated M times
- Find the minimum difference between Shifted tables of two numbers
- Find the minimum number of rectangles left after inserting one into another
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.