Maximum positive integer divisible by C and is in the range [A, B]
Given three positive integers A, B and C. The task is to find the maximum integer X > 0 such that:
- X % C = 0 and
- X must belong to the range [A, B]
Print -1 if no such number i.e. X exists.
Examples:
Input: A = 2, B = 4, C = 2 Output: 4 B is itself divisible by C. Input: A = 5, B = 10, C = 4 Output: 8 B is not divisible by C. So maximum multiple of 4(C) smaller than 10(B) is 8
Approach:
- If B is a multiple of C then B is the required number.
- Else get the maximum multiple of C just lesser than B which is the required answer.
Below is the implementation of the above approach:
C++
// C++ implementation of the above approach #include <iostream> using namespace std; // Function to return the required number int getMaxNum( int a, int b, int c) { // If b % c = 0 then b is the // required number if (b % c == 0) return b; // Else get the maximum multiple of // c smaller than b int x = ((b / c) * c); if (x >= a && x <= b) return x; else return -1; } // Driver code int main() { int a = 2, b = 10, c = 3; cout << getMaxNum(a, b, c); return 0; } |
Java
// Java implementation of the above approach import java.io.*; class GFG { // Function to return the required number static int getMaxNum( int a, int b, int c) { // If b % c = 0 then b is the // required number if (b % c == 0 ) return b; // Else get the maximum multiple of // c smaller than b int x = ((b / c) * c); if (x >= a && x <= b) return x; else return - 1 ; } // Driver code public static void main (String[] args) { int a = 2 , b = 10 , c = 3 ; System.out.println(getMaxNum(a, b, c)); } } // This Code is contributed by ajit.. |
Python3
# Python3 implementation of the above approach # Function to return the required number def getMaxNum(a, b, c): # If b % c = 0 then b is the # required number if (b % c = = 0 ): return b # Else get the maximum multiple # of c smaller than b x = ((b / / c) * c) if (x > = a and x < = b): return x else : return - 1 # Driver code a, b, c = 2 , 10 , 3 print (getMaxNum(a, b, c)) # This code is contributed # by Mohit Kumar |
C#
// C# implementation of the above approach using System; class GFG { // Function to return the required number static int getMaxNum( int a, int b, int c) { // If b % c = 0 then b is the // required number if (b % c == 0) return b; // Else get the maximum multiple of // c smaller than b int x = ((b / c) * c); if (x >= a && x <= b) return x; else return -1; } // Driver code public static void Main () { int a = 2, b = 10, c = 3; Console.WriteLine(getMaxNum(a, b, c)); } } // This Code is contributed by Code_Mech.. |
PHP
<?php // PHP implementation of the above approach // Function to return the required number function getMaxNum( $a , $b , $c ) { // If b % c = 0 then b is the // required number if ( $b % $c == 0) return $b ; // Else get the maximum multiple // of c smaller than b $x = ((int)( $b / $c ) * $c ); if ( $x >= $a && $x <= $b ) return $x ; else return -1; } // Driver code $a = 2; $b = 10; $c = 3; echo (getMaxNum( $a , $b , $c )); // This Code is contributed // by Mukul Singh ?> |
9
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
Recommended Posts:
- Generate integer from 1 to 7 with equal probability
- Segment Tree | Set 1 (Sum of given range)
- Find the maximum distance covered using n bikes
- Generate all unique partitions of an integer
- Count Distinct Non-Negative Integer Pairs (x, y) that Satisfy the Inequality x*x + y*y < n
- Maximum profit by buying and selling a share at most twice
- Find a pair with maximum product in array of Integers
- Count factorial numbers in a given range
- Square root of an integer
- Find the smallest twins in given range
- Segmented Sieve (Print Primes in a Range)
- Print all Good numbers in given range
- Count 'd' digit positive integers with 0 as a digit
- Count positive integers with 0 as a digit and maximum 'd' digits
- Querying maximum number of divisors that a number in a given range has
- Compute (a*b)%c such that (a%c) * (b%c) can be beyond range
- Maximum profit by buying and selling a share at most k times
- Number of elements with odd factors in given range
- Count maximum points on same line
- Breaking an Integer to get Maximum Product
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. 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.