# Check if the product of digit sum and its reverse equals the number or not

Given a number, check whether the product of digit sum and reverse of digit sum equals the number or not.

Examples:

```Input : 1729
Output : Yes
Explanation:
digit sum = 1 + 7 + 2 + 9
= 19
Reverse of digit sum = 91
Product = digit sum * Reverse of digit sum
= 19 * 91
= 1729

Input : 2334
Output : No
```

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

Flowchart:

Approach :
1. Find the sum of digits of given number.
2. Reverse the digit sum output.
3. Product of digit sum and reverse of digit sum.
If product equals to the original number then print “Yes” else print “No”.

## C++

 `// CPP implementation to check if the ` `// product of digit sum and its  ` `// reverse equals the number or not ` `#include ` `using` `namespace` `std; ` ` `  `// Function that returns number after  ` `// performing operations. ` `int` `check(``int` `num) ` `{ ` `    ``int` `digitSum = 0; ` `     `  `    ``// loop used to count digit sum ` `    ``// of numbers. ` `    ``while``(num > 0) ` `    ``{ ` `        ``digitSum = digitSum + num % 10; ` `        ``num = num / 10; ` `    ``} ` `    ``int` `temp = digitSum; ` `    ``int` `reverseDigitSum = 0; ` `     `  `    ``// loop that reverse digit sum. ` `    ``while``(temp > 0) ` `    ``{ ` `        ``int` `rem = temp % 10; ` `        ``reverseDigitSum = reverseDigitSum * 10 ` `                        ``+ rem; ` `        ``temp = temp / 10; ` `    ``} ` `     `  `    ``// product of digit sum and reverse digit ` `    ``// sum and assign it to number variables. ` `    ``int` `number = digitSum * reverseDigitSum; ` `    ``return` `number; ` `} ` ` `  `// Driver function ` `int` `main() ` `{ ` `    ``int` `num = 1729; ` ` `  `    ``// call check() function. ` `    ``int` `x = check(num); ` ` `  `    ``// check if original number equals  ` `    ``// to x or not ` `    ``if` `(num == x) ` `        ``cout << ``"Yes"``; ` `    ``else` `        ``cout << ``"No"``; ` `    ``return` `0; ` `} `

## Java

 `// JAVA implementation to check if the ` `// product of digit sum and its  ` `// reverse equals the number or not ` `class` `GFG { ` `      `  `    ``// Function that returns number after  ` `    ``// performing operations. ` `    ``static` `int` `check(``int` `num) ` `    ``{ ` `        ``int` `digitSum = ``0``; ` `          `  `        ``// loop used to count digit sum ` `        ``// of numbers. ` `        ``while``(num > ``0``) ` `        ``{ ` `            ``digitSum = digitSum + num % ``10``; ` `            ``num = num / ``10``; ` `        ``} ` `        ``int` `temp = digitSum; ` `        ``int` `reverseDigitSum = ``0``; ` `          `  `        ``// loop that reverse digit sum. ` `        ``while``(temp > ``0``) ` `        ``{ ` `            ``int` `rem = temp % ``10``; ` `            ``reverseDigitSum = reverseDigitSum * ``10` `                            ``+ rem; ` `            ``temp = temp / ``10``; ` `        ``} ` `          `  `        ``// product of digit sum and reverse digit ` `        ``// sum and assign it to number variables. ` `        ``int` `number = digitSum * reverseDigitSum; ` `        ``return` `number; ` `    ``} ` `      `  `    ``// Driver function ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `        ``int` `num = ``1729``; ` `      `  `        ``// call check() function. ` `        ``int` `x = check(num); ` `      `  `        ``// check if original number equals  ` `        ``// to x or not ` `        ``if` `(num == x) ` `            ``System.out.println(``"Yes"``); ` `        ``else` `           ``System.out.println(``"No"``); ` `    ``} ` `} ` ` `  `// This code is contributed by Nikita Tiwari `

## Python3

 `# Python implementation to check if the ` `# product of digit sum and its  ` `# reverse equals the number or not ` ` `  ` `  `# Function that returns number after  ` `# performing operations. ` `def` `check(num) : ` `    ``digitSum ``=` `0` `     `  `    ``# loop used to count digit sum ` `    ``# of numbers. ` `    ``while``(num !``=` `0``) : ` `        ``digitSum ``=` `digitSum ``+` `num ``%` `10` `        ``num ``=` `num ``/``/` `10` `     `  `    ``temp ``=` `(``int``)(digitSum) ` `    ``reverseDigitSum ``=` `0` `           `  `    ``# loop that reverse digit sum. ` `    ``while``(temp !``=` `0``) : ` `        ``rem ``=` `temp ``%` `10` `        ``reverseDigitSum ``=` `reverseDigitSum ``*` `10` `+` `rem ` `        ``temp ``=` `temp ``/` `10` `             `  `    ``# product of digit sum and reverse digit ` `    ``# sum and assign it to number variables. ` `    ``number ``=` `digitSum ``*` `reverseDigitSum ` `    ``return` `number ` `     `  `# Driver function ` `num ``=` `1729` ` `  `# call check() function. ` `x ``=` `(check(num)) ` ` `  `# check if original number   ` `# equals to x or not ` `if` `(num ``=``=` `x) : ` `    ``print``(``"Yes"``) ` `else` `: ` `    ``print``(``"No"``) ` `     `  `     `  `# This code is contributed by Nikita Tiwari. `

## C#

 `// Code to check if the product ` `// of digit sum and its reverse ` `// equals the number or not ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// Function that returns number ` `    ``// after performing operations. ` `    ``static` `int` `check(``int` `num) ` `    ``{ ` `        ``int` `digitSum = 0; ` ` `  `        ``// loop used to count digit ` `        ``// sum of numbers. ` `        ``while` `(num > 0) { ` `            ``digitSum = digitSum + num % 10; ` `            ``num = num / 10; ` `        ``} ` ` `  `        ``int` `temp = digitSum; ` `        ``int` `reverseDigitSum = 0; ` ` `  `        ``// loop that reverse digit sum. ` `        ``while` `(temp > 0) { ` `            ``int` `rem = temp % 10; ` `            ``reverseDigitSum = reverseDigitSum * 10 ` `                              ``+ rem; ` `            ``temp = temp / 10; ` `        ``} ` ` `  `        ``// product of digit sum and ` `        ``// reverse digit sum, assign ` `        ``// it to number variables. ` `        ``int` `number = digitSum * reverseDigitSum; ` `        ``return` `number; ` `    ``} ` ` `  `    ``// Driver function ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `num = 1729; ` ` `  `        ``// call check() function. ` `        ``int` `x = check(num); ` ` `  `        ``// check if original number ` `        ``// equals to x or not ` `        ``if` `(num == x) ` `            ``Console.WriteLine(``"Yes"``); ` `        ``else` `            ``Console.WriteLine(``"No"``); ` `    ``} ` `} ` ` `  `// This code is contributed by Anant Agarwal. `

## PHP

 ` 0) ` `    ``{ ` `        ``\$digitSum` `= ``\$digitSum` `+  ` `                    ``\$num` `% 10; ` `        ``\$num` `= (int)(``\$num` `/ 10); ` `    ``} ` `    ``\$temp` `= ``\$digitSum``; ` `    ``\$reverseDigitSum` `= 0; ` `     `  `    ``// loop that reverse  ` `    ``// digit sum. ` `    ``while``(``\$temp` `> 0) ` `    ``{ ` `        ``\$rem` `= ``\$temp` `% 10; ` `        ``\$reverseDigitSum` `= ``\$reverseDigitSum` `*  ` `                                   ``10 + ``\$rem``; ` `        ``\$temp` `= (int)(``\$temp` `/ 10); ` `    ``} ` `     `  `    ``// product of digit sum  ` `    ``// and reverse digit ` `    ``// sum and assign it ` `    ``// to number variables. ` `    ``\$number` `= ``\$digitSum` `* ``\$reverseDigitSum``; ` `    ``return` `\$number``; ` `} ` ` `  `// Driver Code ` `\$num` `= 1729; ` ` `  `// call check() function. ` `\$x` `= check(``\$num``); ` ` `  `// check if original ` `// number equals  ` `// to x or not ` `if` `(``\$num` `== ``\$x``) ` `echo``(``"Yes"``); ` `else` `    ``echo``(``"No"``); ` ` `  `// This code is contributed by Ajit. ` `?> `

Output:

```Yes
```

This article is contributed by Dharmendra Kumar. 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, RishabhPrabhu

Article Tags :

Be the First to upvote.

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