Given an integer **N**, the task is to check whether the given number is a pangram or not. **Note:** A Pangram Number contains every digit **[0- 9]** at least once.

**Examples:**

Input :N = 10239876540022Output :YesExplanation:N contains all the digits from 0 to 9. Therefore, it is a pangram.

Input :N = 234567890Output :NoExplanation:N doesn’t contain the digit 1. Therefore, it is not a pangram.

**Set****-based Approach:** The idea is to use Sets to store the count of distinct digits present in **N**. Follow the steps below to solve the problem:

- Convert the number N to equivalent string.
- Convert the string to a set.
- If the size of the Set is
**10**, then it contains all the distinct possible digits**[0 – 9]**. Therefore, print**“Yes”**. - Otherwise, print
**“No”**

Below is the implementation of the above approach:

## 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))` |

**Output:**

True

**Time Complexity: **O(log_{10}N * log(log_{10}N))**Auxiliary Space:** O(1)

**Hashing****-based Approach: **Follow the steps to solve the problem:

- Convert N to its equivalent string.
- Calculate frequencies of all characters in this string. Counter() function can be used for this purpose in Python.
- If the length of the Dictionary / HashMap storing the frequencies is
**10**, the number contains all possible distinct digits. Therefore, print**“Yes**“. - Otherwise, print
**“No”**.

Below is the implementation of the above approach:

## 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))` |

**Output:**

True

**Time Complexity: **O(log_{10}N * log(log_{10}N))**Auxiliary Space:** O(1)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.