# Spy Number (Sum and Products of Digits are same)

A number is said to be a Spy number if the sum of all the digits is equal to the product of all digits.
Examples :

```Input : 1412
Explanation :
sum = (1 + 4 + 1 + 2) = 8
product = (1 * 4 * 1 * 2) = 8
since, sum == product == 8
Output : Spy Number

Input : 132
Explanation :
sum = (1 + 3 + 2) = 6
product = (1 * 3 * 2) = 6
since, sum == product == 6
Output : Spy Number
```

## C++

 `// CPP program to check ` `// a spy number ` `#include ` `using` `namespace` `std; ` ` `  `// Function to  ` `// check spy number ` `bool` `checkSpy(``int` `num) ` `{ ` `    ``int` `digit, sum = 0,  ` `        ``product = 1; ` `    ``while` `(num > 0)  ` `    ``{ ` `        ``digit = num % 10; ` `         `  `        ``// getting sum of digits ` `        ``sum += digit;  ` `         `  `        ``// getting product of digits ` `        ``product *= digit;  ` `        ``num = num / 10; ` `    ``} ` `     `  `    ``if` `(sum == product) ` `        ``return` `true``; ` `    ``else` `        ``return` `false``; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `num = 1412; ` `    ``if` `(checkSpy(num)) ` `        ``cout << ``"The number is "`  `             ``<< ``"a Spy number"` `             ``<< endl; ` `    ``else` `        ``cout << ``"The number is "` `             ``<< ``"NOT a spy number"` `             ``<< endl; ` `    ``return` `0; ` `} `

## Java

 `// Java program to  ` `// check Spy number ` `import` `java.util.*; ` ` `  `class` `GFG  ` `{ ` `     `  `    ``// boolean function to  ` `    ``// check Spy number ` `    ``static` `boolean` `checkSpy(``int` `input) ` `    ``{ ` ` `  `        ``int` `digit, sum = ``0``,  ` `               ``product = ``1``; ` `        ``while` `(input > ``0``) ` `        ``{ ` `            ``digit = input % ``10``; ` `             `  `            ``// getting the ` `            ``// sum of digits ` `            ``sum += digit;  ` `             `  `            ``// getting the product ` `            ``// of digits ` `            ``product *= digit;  ` `            ``input = input / ``10``; ` `        ``} ` `         `  `        ``// Comparing the  ` `        ``// sum and product ` `        ``if` `(sum == product) ` `            ``return` `true``; ` `        ``else` `            ``return` `false``; ` `    ``} ` `     `  `    ``// Driver code ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `        ``int` `input = ``1412``; ` `        ``if` `(checkSpy(input)) ` `            ``System.out.println(``"The number is "``+ ` `                                ``"a Spy number"``); ` `        ``else` `            ``System.out.println(``"The number is "``+ ` `                            ``"NOT a Spy number"``); ` `    ``} ` `} `

## Python

 `# Python program to check ` `# Spy number ` ` `  `# Function to check ` `# Spy number ` `def` `checkSpy(num): ` `    ``sums ``=` `0` `    ``product ``=` `1` `    ``while` `num>``0``: ` `        ``digit ``=` `num ``%` `10` `         `  `        ``# getting the  ` `        ``# sum of digits ` `        ``sums ``=` `sums ``+` `digit ` `         `  `        ``# getting the product ` `        ``# of digits ` `        ``product ``=` `product ``*` `digit ` `        ``num ``=` `num ``/` `10` `         `  `    ``if` `sums ``=``=` `product: ` `        ``return` `True` `    ``else``: ` `        ``return` `False` ` `  `# Driver Code ` `num ``=` `1412` `if` `(checkSpy(num)): ` `    ``print``(``"The number is a Spy Number"``) ` `else``: ` `    ``print``(``"The number is NOT a spy number"``) `

## C#

 `// C# program to check  ` `// Spy number ` `using` `System; ` ` `  `class` `GFG  ` `{ ` ` `  `    ``// boolean function to  ` `    ``// check Spy number ` `    ``static` `bool` `checkSpy(``int` `input) ` `    ``{ ` ` `  `        ``int` `digit, sum = 0,  ` `               ``product = 1; ` `        ``while` `(input > 0)  ` `        ``{ ` `            ``digit = input % 10; ` ` `  `            ``// getting the sum ` `            ``// of digits ` `            ``sum += digit; ` ` `  `            ``// getting the product ` `            ``// of digits ` `            ``product *= digit; ` `            ``input = input / 10; ` `        ``} ` ` `  `        ``// Comparing the sum ` `        ``// and product ` `        ``if` `(sum == product) ` `            ``return` `true``; ` `        ``else` `            ``return` `false``; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `input = 1412; ` `        ``if` `(checkSpy(input)) ` `            ``Console.WriteLine(``"The number is "` `+ ` `                                ``"a Spy number"``); ` `        ``else` `            ``Console.WriteLine(``"The number is "` `+ ` `                            ``"NOT a Spy number"``); ` `    ``} ` `} ` ` `  `// This code is Contributed by vt_m. `

## PHP

 ` 0)  ` `    ``{ ` `        ``\$digit` `= ``\$num` `% 10; ` `         `  `        ``// getting sum  ` `        ``// of digits ` `        ``\$sum` `+= ``\$digit``;  ` `         `  `        ``// getting product ` `        ``// of digits ` `        ``\$product` `*= ``\$digit``;  ` `        ``\$num` `= ``\$num` `/ 10; ` `    ``} ` `     `  `    ``if` `(``\$sum` `== ``\$product``) ` `        ``return` `1; ` `    ``else` `        ``return` `-1; ` `} ` ` `  `// Driver code ` `\$num` `= 1412; ` `if` `(checkSpy(``\$num``)) ` `    ``echo` `"The number is a "``. ` `          ``"Spy number"``,``"\n"``; ` `     `  `else` `    ``echo` `"The number is NOT "``.  ` `          ``"a spy number"``,``"\n"``; ` ` `  `// This code is contributed by ajit. ` `?> `

Output :

```The number is a Spy number
```

This article is contributed by Chinmoy Lenka. 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.

My Personal Notes arrow_drop_up

Improved By : jit_t

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.