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 = 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.
Please Login to comment...