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

• Last Updated : 30 Apr, 2021

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 = 6
Output: 42
42 is the largest number smaller than
or equal to 45 which is divisible by 6.

Input: N = 11, K = 3
Output: 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 ``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

 ``

## Javascript

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

Time Complexity: O(1)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up