# 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;` `}` |

## 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)` |

## 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` |

## 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)` |

## 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` `?>` |

## Javascript

`<script>` `// Javascript 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)` `{` ` ` `var` `rem = N % K;` ` ` `if` `(rem == 0)` ` ` `return` `N;` ` ` `else` ` ` `return` `N - rem;` `}` `// Driver code` `var` `N = 45, K = 6;` `document.write( ` `"Largest number smaller than or equal to "` `+ N` ` ` `+ ` `"<br>that is divisible by "` `+ K + ` `" is "` `+ findNum(N, K));` `</script>` |

**Output:**

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

**Time Complexity:** O(1)

**Auxiliary Space:** O(1)

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