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 ?> |
Javascript
<script> // Javascript 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
var x = (parseInt(b / c) * c);
if (x >= a && x <= b)
return x;
else
return -1;
} // Driver code var a = 2, b = 10, c = 3;
document.write( getMaxNum(a, b, c)); </script> |
Output:
9
Time Complexity: O(1)
Auxiliary Space: O(1)
Article Tags :
Recommended Articles
3. Find the minimum positive integer such that it is divisible by A and sum of its digits is equal to B
18. K-th smallest positive integer having sum with given number equal to bitwise OR with given number