Dado un número entero N , la tarea es encontrar el número mínimo de dígitos necesarios para generar un número que tenga la suma de dígitos igual a N .
Ejemplos:
Entrada: N = 18
Salida: 2
Explicación:
El número con el menor número de dígitos que tiene una suma de dígitos igual a 18 es 99.Entrada: N = 28
Salida: 4
Explicación:
Los números de 4 dígitos como 8884, 6877, etc. son los más pequeños en longitud y tienen una suma de dígitos igual a 28.
Enfoque: El problema se puede resolver mediante las siguientes observaciones:
- Incremente la cuenta en 9 . Por lo tanto, ahora contar es igual al número de 9 en el número más corto. Reducir N a N % 9
- Ahora, si N excede 0, incremente el conteo en 1 .
- Finalmente, imprima count como la respuesta.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to implement // the above approach #include <bits/stdc++.h> using namespace std; // Function to return the // minimum count of digits void mindigits(int n) { // IF N is divisible by 9 if (n % 9 == 0) { // Count of 9's is the answer cout << n / 9 << endl; } else { // If remainder is non-zero cout << (n / 9) + 1 << endl; } } // Driver Code int main() { int n1 = 24; int n2 = 14; mindigits(n1); mindigits(n2); }
Java
// Java program to implement // the above approach // required to make the given sum import java.util.*; class Main { // Function to print the minimum // count of digits static void mindigits(int n) { // IF N is divisible by 9 if (n % 9 == 0) { // Count of 9's is the answer System.out.println(n / 9); } else { // If remainder is non-zero System.out.println((n / 9) + 1); } } // Driver Code public static void main(String[] args) { int n1 = 24; int n2 = 18; mindigits(n1); mindigits(n2); } }
Python3
# Python3 program to implement # the above approach # Function to print the minimum # count of digits def mindigits(n): # IF N is divisible by 9 if (n % 9 == 0): # Count of 9's is the answer print(n // 9); else: # If remainder is non-zero print((n // 9) + 1); # Driver Code if __name__ == '__main__': n1 = 24; n2 = 18; mindigits(n1); mindigits(n2); # This code is contributed by amal kumar choubey
C#
// C# program to implement // the above approach using System; class GFG{ // Function to print the minimum // count of digits static void mindigits(int n) { // IF N is divisible by 9 if (n % 9 == 0) { // Count of 9's is the answer Console.WriteLine(n / 9); } else { // If remainder is non-zero Console.WriteLine((n / 9) + 1); } } // Driver Code public static void Main(String[] args) { int n1 = 24; int n2 = 18; mindigits(n1); mindigits(n2); } } // This code is contributed by 29AjayKumar
Javascript
<script> // JavaScript program to implement // the above approach // required to make the given sum // Function to print the minimum // count of digits function mindigits(n) { // IF N is divisible by 9 if (n % 9 == 0) { // Count of 9's is the answer document.write(Math.floor(n / 9) + "<br/>"); } else { // If remainder is non-zero document.write(Math.floor(n / 9) + 1 + "<br/>"); } } // Driver Code let n1 = 24; let n2 = 18; mindigits(n1); mindigits(n2); </script>
3 2
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por nishant0073 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA