Dado un número N y un número K, la tarea es encontrar el mayor número menor o igual a N que sea divisible por K.
Ejemplos:
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
Enfoque: La idea es dividir N por K. Si el resto es 0, imprima N ; de lo contrario, imprima N – resto .
A continuación se muestra la implementación del enfoque anterior:
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>
Producción:
Largest number smaller than or equal to 45 that is divisible by 6 is 42
Complejidad Temporal: O(1), ya que no hay bucle ni recursividad.
Espacio Auxiliar: O(1), ya que no se ha ocupado ningún espacio extra.
Publicación traducida automáticamente
Artículo escrito por Shivam.Pradhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA