# 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 = 2Output:4 B is itself divisible by C.Input:A = 5, B = 10, C = 4Output: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

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****.**