# Largest number smaller than or equal to N divisible by K

Given a number N and a number K, the task is to find the largest number smaller than or equal to N which is divisible by K.

**Examples:**

Input:N = 45, K = 6Output:42 42 is the largest number smaller than or equal to 45 which is divisible by 6.Input:N = 11, K = 3Output:9

**Approach:** The idea is to divide the N by K. If the remainder is 0 then print **N** else print **N – remainder**.

Below is the implementation of the above approach:

## C++

`// C++ implementation of the above approach ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to find the largest number ` `// smaller than or equal to N ` `// that is divisible by k ` `int` `findNum(` `int` `N, ` `int` `K) ` `{ ` ` ` `int` `rem = N % K; ` ` ` ` ` `if` `(rem == 0) ` ` ` `return` `N; ` ` ` `else` ` ` `return` `N - rem; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `int` `N = 45, K = 6; ` ` ` ` ` `cout << ` `"Largest number smaller than or equal to "` `<< N ` ` ` `<< ` `"\nthat is divisible by "` `<< K << ` `" is "` `<< findNum(N, K); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java implementation of the ` `// above approach ` `import` `java.lang.*; ` `import` `java.util.*; ` ` ` `class` `GFG ` `{ ` `// Function to find the largest number ` `// smaller than or equal to N ` `// that is divisible by k ` `static` `int` `findNum(` `int` `N, ` `int` `K) ` `{ ` ` ` `int` `rem = N % K; ` ` ` ` ` `if` `(rem == ` `0` `) ` ` ` `return` `N; ` ` ` `else` ` ` `return` `N - rem; ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String args[]) ` `{ ` ` ` `int` `N = ` `45` `, K = ` `6` `; ` ` ` ` ` `System.out.print(` `"Largest number smaller "` `+ ` ` ` `"than or equal to "` `+ N + ` ` ` `"\nthat is divisible by "` `+ K + ` ` ` `" is "` `+ findNum(N, K)); ` `} ` `} ` ` ` `// This code is contributed ` `// by Akanksha Rai(Abby_akku) ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 implementation of the above approach ` ` ` `# Function to find the largest number smaller ` `# than or equal to N that is divisible by k ` `def` `findNum(N, K): ` ` ` ` ` `rem ` `=` `N ` `%` `K ` ` ` `if` `(rem ` `=` `=` `0` `): ` ` ` `return` `N ` ` ` `else` `: ` ` ` `return` `N ` `-` `rem ` ` ` `# Driver code ` `if` `__name__` `=` `=` `'__main__'` `: ` ` ` ` ` `N ` `=` `45` ` ` `K ` `=` `6` ` ` `print` `(` `"Largest number smaller than or equal to"` `+` ` ` `str` `(N) ` `+` `"that is divisible by"` `+` `str` `(K) ` `+` ` ` `"is"` `, findNum(N, K)) ` ` ` `# This code is contributed by ` `# Kirti_Mangal ` |

*chevron_right*

*filter_none*

## C#

`// C# implementation of the above approach ` `using` `System; ` ` ` `class` `GFG ` `{ ` `// Function to find the largest number ` `// smaller than or equal to N ` `// that is divisible by k ` `static` `int` `findNum(` `int` `N, ` `int` `K) ` `{ ` ` ` `int` `rem = N % K; ` ` ` ` ` `if` `(rem == 0) ` ` ` `return` `N; ` ` ` `else` ` ` `return` `N - rem; ` `} ` ` ` `// Driver code ` `public` `static` `void` `Main() ` `{ ` ` ` `int` `N = 45, K = 6; ` ` ` ` ` `Console.Write(` `"Largest number smaller "` `+ ` ` ` `"than or equal to "` `+ N + ` ` ` `"\nthat is divisible by "` `+ K + ` ` ` `" is "` `+ findNum(N, K)); ` `} ` `} ` ` ` `// This code is contributed ` `// by Akanksha Rai(Abby_akku) ` |

*chevron_right*

*filter_none*

## PHP

`<?php ` `// PHP implementation of the ` `// above approach ` ` ` `// Function to find the largest ` `// number smaller than or equal ` `// to N that is divisible by k ` `function` `findNum(` `$N` `, ` `$K` `) ` `{ ` ` ` `$rem` `= ` `$N` `% ` `$K` `; ` ` ` ` ` `if` `(` `$rem` `== 0) ` ` ` `return` `$N` `; ` ` ` `else` ` ` `return` `$N` `- ` `$rem` `; ` `} ` ` ` `// Driver code ` `$N` `= 45 ; ` `$K` `= 6 ; ` ` ` `echo` `"Largest number smaller than or equal to "` `, ` `$N` `, ` ` ` `"\nthat is divisible by "` `, ` `$K` `, ` `" is "` `, ` ` ` `findNum(` `$N` `, ` `$K` `); ` ` ` `// This code is contributed by ANKITRAI1 ` `?> ` |

*chevron_right*

*filter_none*

**Output:**

Largest number smaller than or equal to 45 that is divisible by 6 is 42

## Recommended Posts:

- Largest number smaller than or equal to n and digits in non-decreasing order
- Largest smaller number possible using only one swap operation
- Find largest number smaller than N with same set of digits
- Largest number with the given set of N digits that is divisible by 2, 3 and 5
- Largest K digit number divisible by X
- Largest number divisible by 90 that can be made using 0 and 5
- C++ Program for Largest K digit number divisible by X
- Largest N digit number divisible by given three numbers
- Largest Divisor of a Number not divisible by a perfect square
- Sum of largest divisible powers of p (a prime number) in a range
- Java Program for Largest K digit number divisible by X
- Smallest number greater than or equal to N divisible by K
- Largest number less than or equal to N/2 which is coprime to N
- Sum of largest prime factor of each number less than equal to n
- Find Largest Special Prime which is less than or equal to a given number

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.