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 numberint 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 codeint main(){ int a = 2, b = 10, c = 3; cout << getMaxNum(a, b, c); return 0;} |
Java
// Java implementation of the above approachimport java.io.*;class GFG { // Function to return the required numberstatic 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 codepublic 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 numberdef 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 codea, b, c = 2, 10, 3print(getMaxNum(a, b, c))# This code is contributed # by Mohit Kumar |
C#
// C# implementation of the above approachusing System;class GFG { // Function to return the required numberstatic 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 codepublic 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 numberfunction 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 numberfunction 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 codevar a = 2, b = 10, c = 3;document.write( getMaxNum(a, b, c));</script> |
9
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Find More Information here on that Topic: geeksforgeeks.org/maximum-positive-integer-divisible-by-c-and-is-in-the-range-a-b/ […]