Comprobar si el producto de la suma de dígitos y su reverso es igual al número o no

Dado un número, verifica si el producto de la suma de dígitos y el reverso de la suma de dígitos es igual al número o no.
Ejemplos: 
 

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

Diagrama de flujo: 
 

Enfoque: 
1. Encuentra la suma de los dígitos de un número dado. 
2. Invierta la salida de suma de dígitos. 
3. Producto de suma de dígitos y reverso de suma de dígitos. 
Si el producto es igual al número original, escriba «Sí», de lo contrario, escriba «No». 
 

C++

// CPP implementation to check if the
// product of digit sum and its
// reverse equals the number or not
#include<bits/stdc++.h>
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

<?php
// PHP implementation to check if the
// product of digit sum and its
// reverse equals the number or not
 
// Function that returns number 
// after performing operations.
function check($num)
{
    $digitSum = 0;
     
    // loop used to count
    // digit sum of numbers.
    while($num > 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.
?>

Javascript

<script>
 
      // JavaScript implementation to check if the
      // product of digit sum and its
      // reverse equals the number or not
 
      // Function that returns number after
      // performing operations.
      function check(num)
      {
        var digitSum = 0;
 
        // loop used to count digit sum
        // of numbers.
        while (num > 0) {
          digitSum = digitSum + (num % 10);
          num = parseInt(num / 10);
        }
        var temp = digitSum;
        var reverseDigitSum = 0;
 
        // loop that reverse digit sum.
        while (temp > 0) {
          var rem = temp % 10;
          reverseDigitSum =
          reverseDigitSum * 10 + rem;
          temp = parseInt(temp / 10);
        }
 
        // product of digit sum and reverse digit
        // sum and assign it to number variables.
        var number = digitSum * reverseDigitSum;
        return number;
      }
 
      // Driver function
      var num = 1729;
 
      // call check() function.
      var x = check(num);
 
      // check if original number equals
      // to x or not
      if (num == x) document.write("Yes");
      else document.write("No");
       
 </script>

Producción: 

Yes

Complejidad del tiempo: O(log 10 (num))

Espacio Auxiliar: 1

Este artículo es una contribución de Dharmendra Kumar . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *