Dado un número entero N , la tarea es verificar si el número dado es un pangrama o no.
Nota: Un número de pangrama contiene todos los dígitos [0-9] al menos una vez.
Ejemplos:
Entrada: N = 10239876540022
Salida: Sí
Explicación: N contiene todos los dígitos del 0 al 9. Por lo tanto, es un pangrama.Entrada: N = 234567890
Salida: No
Explicación: N no contiene el dígito 1. Por lo tanto, no es un pangrama.
Enfoque basado en conjuntos : la idea es usar Conjuntos para almacenar el recuento de dígitos distintos presentes en N . Siga los pasos a continuación para resolver el problema:
- Convierta el número N en una string equivalente.
- Convierta la string en un conjunto.
- Si el tamaño del Conjunto es 10 , entonces contiene todos los distintos dígitos posibles [0 – 9] . Por lo tanto, imprima “Sí” .
- De lo contrario, escriba «No»
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of above approach #include <bits/stdc++.h> using namespace std; // Function to check if N // is a Pangram or not string numberPangram(string N) { // Add all characters pf arrNum to set set<char> setNum; for (int i = 0; i < N.length(); i++) { setNum.insert(N[i]); } // If the length of set is 10 // The number is a Pangram if (setNum.size() == 10) return "True"; else return "False"; } // Driver code int main() { string N = "10239876540022"; cout << (numberPangram(N)); } // This code is contributed by ukasp.
Java
// Java implementation of above approach import java.math.BigInteger; import java.util.HashSet; class GFG{ // Function to check if N // is a Pangram or not static String numberPangram(BigInteger N) { // Stores equivalent string // representation of N String num = N.toString(); // Convert the string to Character array char[] arrNum = num.toCharArray(); // Add all characters pf arrNum to set HashSet<Character> setNum = new HashSet<Character>(); for(char ch : arrNum) { setNum.add(ch); } // If the length of set is 10 // The number is a Pangram if (setNum.size() == 10) return "True"; else return "False"; } // Driver code public static void main(String[] args) { BigInteger N = new BigInteger("10239876540022"); System.out.print(numberPangram(N)); } } // This code is contributed by abhinavjain194
Python3
# Python3 implementation of above approach # Function to check if N # is a Pangram or not def numberPangram(N): # Stores equivalent string # representation of N num = str(N) # Convert the string to set setnum = set(num) # If the length of set is 10 if(len(setnum) == 10): # The number is a Pangram return True else: return False # Driver Code N = 10239876540022 print(numberPangram(N))
C#
// C# implementation of above approach using System; using System.Globalization; using System.Numerics; using System.Collections.Generic; class GFG { // Function to check if N // is a Pangram or not static String numberPangram(ulong N) { // Stores equivalent string // representation of N string num = N.ToString(); // Convert the string to Character array char[] arrNum = num.ToCharArray(); // Add all characters pf arrNum to set HashSet<char> setNum = new HashSet<char>(); foreach(char ch in arrNum) { setNum.Add(ch); } // If the length of set is 10 // The number is a Pangram if (setNum.Count == 10) return "True"; else return "False"; } // Driver Code static void Main() { ulong N = 10239876540022; Console.Write(numberPangram(N)); } } // This code is contributed by SoumikMondal
Javascript
<script> // Javascript implementation of above approach // Function to check if N // is a Pangram or not function numberPangram(N) { // Add all characters pf arrNum to set var setNum = new Set(); for (var i = 0; i < N.length; i++) { setNum.add(N[i]); } // If the length of set is 10 // The number is a Pangram if (setNum.size == 10) return "True"; else return "False"; } // Driver code var N = "10239876540022"; document.write(numberPangram(N)); </script>
True
Complejidad de tiempo: O(log 10 N * log(log 10 N))
Espacio auxiliar: O(1)
Enfoque basado en hashing : siga los pasos para resolver el problema:
- Convierta N en su string equivalente.
- Calcule las frecuencias de todos los caracteres de esta string . La función Counter() se puede usar para este propósito en Python.
- Si la longitud del Dictionary / HashMap que almacena las frecuencias es 10 , el número contiene todos los dígitos distintos posibles. Por lo tanto, imprima “Sí ”.
- De lo contrario, escriba “No” .
A continuación se muestra la implementación del enfoque anterior:
Python3
# Python implementation of above approach from collections import Counter # Function to check if # N is a Pangram or not def numberPangram(N): # Stores equivalent string # representation of N num = str(N) # Count frequencies of # digits present in N frequency = Counter(num) # If the length of the # dictionary frequency is 10 if(len(frequency) == 10): # The number is a Pangram return True else: return False # Driver Code N =10239876540022 print(numberPangram(N))
True
Complejidad de tiempo: O(log 10 N * log(log 10 N))
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por vikkycirus y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA