Comprobar si un número es un pangrama o no

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:
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:

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>
Producción: 

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:

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))
Producció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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *