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 <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), since there is no loop or recursion.
Auxiliary Space: O(1), since no extra space has been taken.