Smallest number greater than or equal to N divisible by K
Given a number N and a number K, the task is to find the smallest number greater than or equal to N which is divisible by K.
Examples:
Input: N = 45, K = 6
Output: 48
48 is the smallest number greater than or equal to 45
which is divisible by 6.
Input: N = 11, K = 3
Output: 12
Approach:
Approach to solve this problem would be to start from N and check each number one by one until we find a number that is divisible by K. We can use a while loop to keep incrementing N until we find a number that is divisible by K.
Here are the steps of approach:
- We start with N and check each number one by one until we find a number that is divisible by K.
- We use a while loop to keep incrementing N until we find a number that is divisible by K.
- Once we find the smallest number greater than or equal to N that is divisible by K, we return it.
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 smallest number // greater than or equal to N // that is divisible by k int findNum( int N, int K) { while (N % K != 0) { N++; } return N; } // Driver code int main() { int N = 45, K = 6; cout << "Smallest number greater than or equal to " << N << "\nthat is divisible by " << K << " is " << findNum(N, K); return 0; } |
Java
public class Main { // Function to find the smallest number // greater than or equal to N // that is divisible by K public static int findNum( int N, int K) { while (N % K != 0 ) { N++; // Increment N until it is divisible by K } return N; // Return the smallest number divisible by K } public static void main(String[] args) { int N = 45 , K = 6 ; // Call the findNum function to find the desired number int result = findNum(N, K); // Print the result to the console System.out.println( "Smallest number greater than or equal to " + N + "\nthat is divisible by " + K + " is " + result); } } |
Python3
# Function to find the smallest number # greater than or equal to N # that is divisible by k def find_num(N, K): while N % K ! = 0 : N + = 1 return N # Driver code if __name__ = = "__main__" : N = 45 K = 6 print (f "Smallest number greater than or equal to {N} \nthat is divisible by {K} is {find_num(N, K)}" ) |
C#
using System; class Program { // Function to find the smallest number // greater than or equal to N // that is divisible by K static int FindNum( int N, int K) { while (N % K != 0) { N++; } return N; } // Driver code static void Main( string [] args) { int N = 45, K = 6; Console.WriteLine($ "Smallest number greater than or equal to {N} " + $ "that is divisible by {K} is {FindNum(N, K)}" ); } } |
Javascript
// Function to find the smallest number // greater than or equal to N // that is divisible by K function findNum(N, K) { while (N % K !== 0) { N++; } return N; } // Driver code let N = 45; let K = 6; console.log(`Smallest number greater than or equal to ${N}\nthat is divisible by ${K} is ${findNum(N, K)}`); |
Smallest number greater than or equal to 45 that is divisible by 6 is 48
Time Complexity: O(K), where K is the divisor. The while loop will run at most K times before finding a number that is divisible by K.
Space Complexity: O(1), because we are only using a constant amount of extra space to store the input variables
Approach: The idea is to divide the N+K by K. If the remainder is 0 then print N else print N + K – 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 smallest number // greater than or equal to N // that is divisible by k int findNum( int N, int K) { int rem = (N + K) % K; if (rem == 0) return N; else return N + K - rem; } // Driver code int main() { int N = 45, K = 6; cout << "Smallest number greater than or equal to " << N << "\nthat is divisible by " << K << " is " << findNum(N, K); return 0; } |
Java
// Java implementation of the above approach public class GFG{ // Function to find the smallest number // greater than or equal to N // that is divisible by k static int findNum( int N, int K) { int rem = (N + K) % K; if (rem == 0 ) return N; else return N + K - rem; } // Driver Code public static void main(String []args){ int N = 45 , K = 6 ; System.out.println( "Smallest number greater than or equal to " + N + "\nthat is divisible by " + K + " is " + findNum(N, K)); } // This code is contributed by ANKITRAI1 } |
Python
# Python 3 implementation of the # above approach # Function to find the smallest number # greater than or equal to N # that is divisible by k def findNum(N, K): rem = (N + K) % K; if (rem = = 0 ): return N else : return (N + K - rem) # Driver Code N = 45 K = 6 print ( 'Smallest number greater than' , 'or equal to' , N, 'that is divisible by' , K, 'is' , findNum( 45 , 6 )) # This code is contributed by Arnab Kundu |
C#
// C# implementation of the above approach public class GFG{ // Function to find the smallest number // greater than or equal to N // that is divisible by k static int findNum( int N, int K) { int rem = (N + K) % K; if (rem == 0) return N; else return N + K - rem; } // Driver Code static void Main(){ int N = 45, K = 6; System.Console.WriteLine( "Smallest number greater than or equal to " + N + "\nthat is divisible by " + K + " is " + findNum(N, K)); } // This code is contributed by mits } |
Javascript
<script> // javascript implementation of the above approach // Function to find the smallest number // greater than or equal to N // that is divisible by k function findNum(N , K) { var rem = (N + K) % K; if (rem == 0) return N; else return N + K - rem; } // Driver Code var N = 45, K = 6; document.write( "Smallest number greater than or equal to " + N + "<br>that is divisible by " + K + " is " + findNum(N, K)); // This code contributed by shikhasingrajput </script> |
PHP
<?php // PHP implementation of the above approach // Function to find the smallest number // greater than or equal to N that is // divisible by k function findNum( $N , $K ) { $rem = ( $N + $K ) % $K ; if ( $rem == 0) return $N ; else return $N + $K - $rem ; } // Driver code $N = 45; $K = 6; echo "Smallest number greater than " . "or equal to " , $N ; echo "\nthat is divisible by " , $K , " is " , findNum( $N , $K ); // This code is contributed by anuj_67 ?> |
Smallest number greater than or equal to 45 that is divisible by 6 is 48
Time Complexity: O(1)
Auxiliary Space: O(1)
Contact Us