# Check whether a number can be expressed as a product of single digit numbers

Given a non-negative number n. The problem is to check whether the given number n can be expressed as a product of single digit numbers or not.

Examples:

```Input : n = 24
Output : Yes
Different combinations are:
(8*3) and (6*4)

Input : 68
Output : No
To represent 68 as product of
number, 17 must be included which
is a two digit number.
```

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

Approach: We have to check whether the number n has no prime factors other than 2, 3, 5, 7. For this we repeatedly divide the number n by (2, 3, 5, 7) until it cannot be further divided by these numbers. After this process if n == 1, then it can be expressed as a product of single digit numbers, else if it is greater than 1, then it cannot be expressed.

## C++

 `// C++ implementation to check whether a number can be ` `// expressed as a product of single digit numbers ` `#include ` `using` `namespace` `std; ` ` `  `// Number of single digit prime numbers ` `#define SIZE 4 ` ` `  `// function to check whether a number can be ` `// expressed as a product of single digit numbers ` `bool` `productOfSingelDgt(``int` `n) ` `{ ` `    ``// if 'n' is a single digit number, then ` `    ``// it can be expressed ` `    ``if` `(n >= 0 && n <= 9) ` `        ``return` `true``; ` ` `  `    ``// define single digit prime numbers array ` `    ``int` `prime[] = { 2, 3, 5, 7 }; ` ` `  `    ``// repeatedly divide 'n' by the given prime  ` `    ``// numbers until all the numbers are used  ` `    ``// or 'n' > 1 ` `    ``for` `(``int` `i = 0; i < SIZE && n > 1; i++) ` `        ``while` `(n % prime[i] == 0) ` `            ``n = n / prime[i]; ` ` `  `    ``// if true, then 'n' can ` `    ``// be expressed ` `    ``return` `(n == 1); ` `} ` ` `  `// Driver program to test above ` `int` `main() ` `{ ` `    ``int` `n = 24; ` `    ``productOfSingelDgt(n)? cout << ``"Yes"` `:  ` `                           ``cout << ``"No"``; ` `    ``return` `0; ` `} `

## Java

 `// Java implementation to check whether ` `// a number can be expressed as a  ` `// product of single digit numbers ` `import` `java.util.*; ` ` `  `class` `GFG ` `{ ` ` `  `// Number of single digit prime numbers ` `static` `int` `SIZE = ``4``; ` ` `  `// function to check whether a number can ` `// be expressed as a product of single  ` `// digit numbers ` `static` `boolean` `productOfSingelDgt(``int` `n) ` `{ ` `    ``// if 'n' is a single digit number,  ` `    ``// then it can be expressed ` `    ``if` `(n >= ``0` `&& n <= ``9``) ` `        ``return` `true``; ` ` `  `    ``// define single digit prime numbers ` `    ``// array ` `    ``int``[] prime = { ``2``, ``3``, ``5``, ``7` `}; ` ` `  `    ``// repeatedly divide 'n' by the given ` `    ``// prime numbers until all the numbers ` `    ``// are used or 'n' > 1 ` `    ``for` `(``int` `i = ``0``; i < SIZE && n > ``1``; i++) ` `        ``while` `(n % prime[i] == ``0``) ` `            ``n = n / prime[i]; ` ` `  `    ``// if true, then 'n' can ` `    ``// be expressed ` `    ``return` `(n == ``1``); ` `} ` ` `  `// Driver program to test above ` `public` `static` `void` `main (String[] args)  ` `{ ` `    ``int` `n = ``24``; ` `    ``if``(productOfSingelDgt(n)) ` `    ``System.out.println(``"Yes"``); ` `    ``else` `    ``System.out.println(``"No"``);  ` `} ` `     `  `} ` `/* This code is contributed by Mr. Somesh Awasthi */`

## Python3

 `# Python3 program to check ` `# whether a number can be ` `# expressed as a product of ` `# single digit numbers ` ` `  `# Number of single digit ` `# prime numbers ` `SIZE ``=` `4` ` `  `# function to check whether ` `# a number can be ` `# expressed as a product ` `# of single digit numbers ` `def` `productOfSingelDgt(n): ` ` `  `    ``# if 'n' is a single digit ` `        ``# number, then ` `    ``# it can be expressed ` `    ``if` `n >``=` `0` `and` `n <``=` `9``: ` `        ``return` `True` ` `  `    ``# define single digit prime ` `        ``# numbers array ` `    ``prime ``=` `[ ``2``, ``3``, ``5``, ``7` `] ` ` `  `    ``# repeatedly divide 'n' by ` `        ``# the given prime  ` `    ``# numbers until all the  ` `        ``# numbers are used  ` `    ``# or 'n' > 1 ` `    ``i ``=` `0` `    ``while` `i < SIZE ``and` `n > ``1``: ` `        ``while` `n ``%` `prime[i] ``=``=` `0``: ` `            ``n ``=` `n ``/` `prime[i] ` `        ``i ``+``=` `1` ` `  `    ``# if true, then 'n' can ` `    ``# be expressed ` `    ``return` `n ``=``=` `1` ` `  `n ``=` `24` `if` `productOfSingelDgt(n): ` `    ``print` `(``"Yes"``) ` `else` `: ` `    ``print` `(``"No"``) ` ` `  `# This code is contributed ` `# by Shreyanshi Arun. `

## C#

 `// C# implementation to check whether ` `// a number can be expressed as a ` `// product of single digit numbers ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// Number of single digit prime numbers ` `    ``static` `int` `SIZE = 4; ` ` `  `    ``// function to check whether a number can ` `    ``// be expressed as a product of single ` `    ``// digit numbers ` `    ``static` `bool` `productOfSingelDgt(``int` `n) ` `    ``{ ` `        ``// if 'n' is a single digit number, ` `        ``// then it can be expressed ` `        ``if` `(n >= 0 && n <= 9) ` `            ``return` `true``; ` ` `  `        ``// define single digit prime numbers ` `        ``// array ` `        ``int``[] prime = { 2, 3, 5, 7 }; ` ` `  `        ``// repeatedly divide 'n' by the given ` `        ``// prime numbers until all the numbers ` `        ``// are used or 'n' > 1 ` `        ``for` `(``int` `i = 0; i < SIZE && n > 1; i++) ` `            ``while` `(n % prime[i] == 0) ` `                ``n = n / prime[i]; ` ` `  `        ``// if true, then 'n' can ` `        ``// be expressed ` `        ``return` `(n == 1); ` `    ``} ` ` `  `    ``// Driver program to test above ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `n = 24; ` `        ``if` `(productOfSingelDgt(n)) ` `            ``Console.WriteLine(``"Yes"``); ` `        ``else` `            ``Console.WriteLine(``"No"``); ` `    ``} ` ` `  `} ` ` `  `// This code is contributed by Sam007 `

## PHP

 `= 0 && ``\$n` `<= 9) ` `        ``return` `true; ` ` `  `    ``// define single digit  ` `    ``// prime numbers array ` `    ``\$prime` `= ``array``(2, 3, 5, 7); ` ` `  `    ``// repeatedly divide 'n'  ` `    ``// by the given prime  ` `    ``// numbers until all  ` `    ``// the numbers are used  ` `    ``// or 'n' > 1 ` `    ``for` `(``\$i` `= 0; ``\$i` `< ``\$SIZE` `&& ``\$n` `> 1; ``\$i``++) ` `        ``while` `(``\$n` `% ``\$prime``[``\$i``] == 0) ` `            ``\$n` `= ``\$n` `/ ``\$prime``[``\$i``]; ` ` `  `    ``// if true, then 'n' can ` `    ``// be expressed ` `    ``return` `(``\$n` `== 1); ` `} ` ` `  `    ``// Driver Code ` `    ``\$SIZE` `= 4; ` `    ``\$n` `= 24; ` `    ``if``(productOfSingelDgt(``\$n``, ``\$SIZE``)) ` `        ``echo` `"Yes"` `; ` `    ``else` `        ``echo` `"No"``; ` ` `  `// This code is contributed by Sam007 ` `?> `

Output:

```Yes
```

Time Complexity: O(num), where num is the number of prime factors (2, 3, 5, 7) of n.

This article is contributed by Ayush Jauhari. 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.