Dado un entero positivo n . La tarea es encontrar el conteo de dígitos del número que divide uniformemente el número n.
Ejemplos:
Input : n = 12 Output : 2 1 and 2 divide 12. Input : n = 1012 Output : 3 1, 1 and 2 divide 1012.
La idea es encontrar cada dígito del número n por módulo 10 y luego verificar si divide n o no. En consecuencia, incremente el contador. Tenga en cuenta que el dígito puede ser 0, así que tenga cuidado con ese caso.
A continuación se muestra la implementación de este enfoque:
C++
// C++ program to count number of digits // that divides the number. #include <bits/stdc++.h> using namespace std; // Return the number of digits that divides // the number. int countDigit(int n) { int temp = n, count = 0; while (temp != 0) { // Fetching each digit of the number int d = temp % 10; temp /= 10; // Checking if digit is greater than 0 // and can divides n. if (d > 0 && n % d == 0) count++; } return count; } // Driven Program int main() { int n = 1012; cout << countDigit(n) << endl; return 0; }
Java
// Java program to count number of digits // that divides the number. class Test { // Return the number of digits that divides // the number. static int countDigit(int n) { int temp = n, count = 0; while (temp != 0) { // Fetching each digit of the number int d = temp % 10; temp /= 10; // Checking if digit is greater than 0 // and can divides n. if (d > 0 && n % d == 0) count++; } return count; } // Driver method public static void main(String args[]) { int n = 1012; System.out.println(countDigit(n)); } }
Python3
# Python3 code to count number of # digits that divides the number. # Return the number of digits # that divides the number. def countDigit (n): temp = n count = 0 while temp != 0: # Fetching each digit # of the number d = temp % 10 temp //= 10 # Checking if digit is greater # than 0 and can divides n. if d > 0 and n % d == 0: count += 1 return count # Driven Code n = 1012 print(countDigit(n)) # This code is contributed by "Sharad_Bhardwaj".
C#
// C# program to count number of digits // that divides the number. using System; class GFG { // Return the number of digits that // divides the number. static int countDigit(int n) { int temp = n, count = 0; while (temp != 0) { // Fetching each digit of // the number int d = temp % 10; temp /= 10; // Checking if digit is // greater than 0 and can // divides n. if (d > 0 && n % d == 0) count++; } return count; } // Driver method public static void Main() { int n = 1012; Console.Write(countDigit(n)); } } // This code is contributed by parashar.
PHP
<?php // PHP program to count // number of digits // that divides the number. // Return the number of // digits that divides // the number. function countDigit($n) { $temp = $n; $count = 0; while ($temp != 0) { // Fetching each digit // of the number $d = $temp % 10; $temp /= 10; // Checking if digit // is greater than 0 // and can divides n. if ($d > 0 && $n % $d == 0) $count++; } return $count; } // Driver Code $n = 1012; echo countDigit($n), "\n"; // This code is contributed by ajit ?>
Javascript
<script> // javascript program to count number of digits // that divides the number. // Return the number of digits that divides // the number. function countDigit(n) { var temp = n, count = 0; while (temp != 0) { // Fetching each digit of the number var d = temp % 10; temp /= 10; // Checking if digit is greater than 0 // and can divides n. if (d > 0 && n % d == 0) count++; } return count; } // Driver method var n = 1012; document.write(countDigit(n)); // This code is contributed by Amit Katiyar </script>
Producción:
3
Complejidad de tiempo: O(d) donde d es el número de dígitos en un número.
Espacio Auxiliar: O(1)
Este artículo es una contribución de Anuj Chauhan . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA