# Pandigital Product

A Pandigital Number is number which makes the use of all digits 1 to 9 exactly once. We are given a number, we need to find if there are two numbers whose multiplication is given number and given three numbers together are pandigital.

Examples:

```Input : 7254
Output : Yes
39 * 186 = 7254. We can notice that
the three numbers 39, 186 and 7254
together have all digits from 1 to 9.

Input : 6952
Output : Yes
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

The idea is to consider all pairs that multiply to given number. For every pair, create a string containing three numbers (given number and current pair). We sort the created string and check if sorted string is equal to “123456789”.

## C++

 `// C++ code to check the number ` `// is Pandigital Product or not ` `#include ` `using` `namespace` `std; ` ` `  `// To check the string formed  ` `// from multiplicand, multiplier ` `// and product is pandigital ` `bool` `isPandigital(string str) ` `{ ` `    ``if` `(str.length() != 9) ` `        ``return` `false``; ` `     `  `    ``char` `ch[str.length()]; ` `    ``strcpy``(ch, str.c_str());  ` `    ``sort(ch, ch + str.length()); ` `    ``string s = ch; ` `     `  `    ``if``(s.compare(``"123456789"``) == 0) ` `        ``return` `true``; ` `    ``else` `        ``return` `true``; ` `} ` ` `  `// calculate the multiplicand,  ` `// multiplier, and product ` `// eligible for pandigital ` `bool` `PandigitalProduct_1_9(``int` `n) ` `{ ` `    ``for` `(``int` `i = 1; i * i <= n; i++)  ` `        ``if` `(n % i == 0 && isPandigital(to_string(n) +  ` `                                       ``to_string(i) +  ` `                                   ``to_string(n / i))) ` `            ``return` `true``; ` `    ``return` `false``; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``int` `n = 6952; ` `    ``if` `(PandigitalProduct_1_9(n) == ``true``) ` `        ``cout << ``"yes"``; ` `    ``else` `        ``cout << ``"no"``; ` `    ``return` `0; ` `} ` ` `  `// This code is contributed by  ` `// Manish Shaw(manishshaw1) `

## Java

 `// Java code to check the number ` `// is Pandigital Product or not ` `import` `java.io.*; ` `import` `java.util.*; ` `class` `GFG { ` ` `  `    ``// calculate the multiplicand, multiplier, and product ` `    ``// eligible for pandigital ` `    ``public` `static` `boolean` `PandigitalProduct_1_9(``int` `n) ` `    ``{ ` `        ``for` `(``int` `i = ``1``; i*i <= n; i++)  ` `            ``if` `(n % i == ``0` `&& isPandigital(``""` `+ n + i + n / i)) ` `                ``return` `true``; ` `        ``return` `false``; ` `    ``} ` ` `  `    ``// To check the string formed from multiplicand ` `    ``// multiplier and product is pandigital ` `    ``public` `static` `boolean` `isPandigital(String str) ` `    ``{ ` `        ``if` `(str.length() != ``9``) ` `            ``return` `false``; ` `        ``char` `ch[] = str.toCharArray(); ` `        ``Arrays.sort(ch); ` `        ``return` `new` `String(ch).equals(``"123456789"``); ` `    ``} ` ` `  `    ``// Driver function ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `n = ``6952``; ` `        ``if` `(PandigitalProduct_1_9(n) == ``true``) ` `            ``System.out.println(``"yes"``); ` `        ``else` `            ``System.out.println(``"no"``); ` `    ``} ` `} `

## C#

 `// C# code to check the number ` `// is Pandigital Product or not. ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// calculate the multiplicand,  ` `    ``// multiplier, and product ` `    ``// eligible for pandigital ` `    ``public` `static` `bool` `PandigitalProduct_1_9(``int` `n) ` `    ``{ ` `        ``for` `(``int` `i = 1; i*i <= n; i++)  ` `            ``if` `(n % i == 0 && isPandigital(``""` `+ n ` `                                      ``+ i + n / i)) ` `                ``return` `true``; ` `                 `  `        ``return` `false``; ` `    ``} ` ` `  `    ``// To check the string formed from multiplicand ` `    ``// multiplier and product is pandigital ` `    ``public` `static` `bool` `isPandigital(String str) ` `    ``{ ` `        ``if` `(str.Length != 9) ` `            ``return` `false``; ` `             `  `        ``char` `[]ch = str.ToCharArray(); ` `        ``Array.Sort(ch); ` `         `  `        ``return` `new` `String(ch).Equals(``"123456789"``); ` `    ``} ` ` `  `    ``// Driver function ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `n = 6952; ` `         `  `        ``if` `(PandigitalProduct_1_9(n) == ``true``) ` `            ``Console.Write(``"yes"``); ` `        ``else` `            ``Console.Write(``"no"``); ` `    ``} ` `} ` ` `  `// This code is contributed by nitin mittal. `

## PHP

 ` `

Output:

`yes`

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.