Programa para calcular el producto de los dígitos de un número

Dado un número, la tarea es encontrar el producto de los dígitos de un número.

Ejemplos: 

Input: n = 4513
Output: 60

Input: n = 5249
Output: 360

Algoritmo general para el producto de dígitos en un número dado:  

  1. obtener el número
  2. Declare una variable para almacenar el producto y configúrelo en 1
  3. Repita los siguientes dos pasos hasta que el número no sea 0
  4. Obtenga el dígito más a la derecha del número con la ayuda del operador de resto ‘%’ dividiéndolo por 10 y multiplicándolo por el producto.
  5. Divide el número por 10 con la ayuda del operador ‘/’
  6. Imprimir o devolver el producto.

A continuación se muestra la solución para obtener el producto de los dígitos: 

C++

// C++ program to compute
// product of digits in the number.
#include<bits/stdc++.h>
using namespace std;
 
/* Function to get product of digits */
int getProduct(int n)
{
    int product = 1;
 
    while (n != 0)
    {
        product = product * (n % 10);
        n = n / 10;
    }
 
    return product;
}
 
// Driver program
int main()
{
    int n = 4513;
    cout << (getProduct(n));
}
 
// This code is contributed by
// Surendra_Gangwar

Java

// Java program to compute
// product of digits in the number.
 
import java.io.*;
 
class GFG {
 
    /* Function to get product of digits */
    static int getProduct(int n)
    {
        int product = 1;
 
        while (n != 0) {
            product = product * (n % 10);
            n = n / 10;
        }
 
        return product;
    }
 
    // Driver program
    public static void main(String[] args)
    {
        int n = 4513;
 
        System.out.println(getProduct(n));
    }
}

Python3

# Python3 program to compute
# product of digits in the number.
 
# Function to get product of digits
def getProduct(n):
 
    product = 1
 
    while (n != 0):
        product = product * (n % 10)
        n = n // 10
 
    return product
 
# Driver Code
n = 4513
print(getProduct(n))
 
# This code is contributed
# by mohit kumar

C#

// C# program to compute
// product of digits in the number.
using System;
 
class GFG
{
 
    /* Function to get product of digits */
    static int getProduct(int n)
    {
        int product = 1;
 
        while (n != 0)
        {
            product = product * (n % 10);
            n = n / 10;
        }
 
        return product;
    }
 
    // Driver program
    public static void Main()
    {
        int n = 4513;
 
        Console.WriteLine(getProduct(n));
    }
}
 
// This code is contributed by Ryuga

PHP

<?php
 
<?php
 
// PHP program to compute
// $product of digits in the number.
 
/* Function to get $product of digits */
 
function getProduct($n)
{
    $product = 1;
 
    while ($n != 0)
    {
        $product = $product * ( $n % 10);
        $n = intdiv($n , 10);
    }
 
    return $product;
}
 
// Driver code
 
$n = 4513;
echo getProduct($n);
 
 
// This code is contributed by
// ihritik
 
?>

Javascript

<script>
 
// JavaScript program to compute
// product of digits in the number.
 
// Function to get product of digits
function getProduct(n)
{
    let product = 1;
 
    while (n != 0)
    {
        product = product * (n % 10);
        n = Math.floor(n / 10);
    }
    return product;
}
 
// Driver code
let n = 4513;
 
document.write(getProduct(n));
 
// This code is contributed by Manoj.
 
</script>
Producción: 

60

 

Método #2: Usando el método string():

  • Convertir el entero a string
  • Atraviese la string y multiplique los caracteres convirtiéndolos en enteros

¿Cuándo se puede usar este método?: Cuando el número de dígitos de un número excede  10^{19}          , no podemos tomar ese número como un número entero ya que el rango de long long int no satisface el número dado. Entonces tome la entrada como una string, ejecute un ciclo desde el principio hasta la longitud de la string y aumente la suma con ese carácter (en este caso es numérico)

A continuación se muestra la implementación:

C++

#include <iostream>
using namespace std;
int getProduct(string str)
{
    int product = 1;
  
    // Traversing through the string
    for (int i = 0; i < str.length(); i++) {
        // Since ascii value of
        // numbers starts from 48
        // so we subtract it from sum
        product = product * (str[i] - 48);
    }
    return product;
}
  
// Driver Code
int main()
{
    string st = "4513";
    cout << getProduct(st);
    return 0;
}

Java

import java.io.*;
  
class GFG {
     
static int getProduct(String str)
{
    int product = 1;
  
    // Traversing through the string
    for (int i = 0; i < str.length(); i++)
    {
       
        // Since ascii value of
        // numbers starts from 48
        // so we subtract it from sum
        product *= str.charAt(i) - '0';
    }
    return product;
}
  
// Driver Code
public static void main(String[] args)
{
    String st = "4513";
    System.out.println(getProduct(st));
     
}
}
//this code is contributed by shivanisinghss2110

Python3

# Python3 program to compute
# product of digits in the number.
 
# Function to get product of digits
def getProduct(n):
 
    product = 1
 
    # Converting integer to string
    num = str(n)
     
    # Traversing the string
    for i in num:
        product = product * int(i)
 
    return product
 
 
# Driver Code
n = 4513
print(getProduct(n))
 
# This code is contributed by vikkycirus

C#

using System;
using System.Collections;
 
class GFG
{
     
static int getProduct(String str)
{
    int product = 1;
  
    // Traversing through the string
    for (int i = 0; i < str.Length; i++)
    {
       
        // Since ascii value of
        // numbers starts from 48
        // so we subtract it from sum
        product = product * (str[i] - 48);
    }
    return product;
}
  
// Driver Code
public static void Main(String[] args)
{
    String st = "4513";
    Console.Write(getProduct(st));
     
}
}
 
//This code is contributed by shivanisinghss2110

Javascript

<script>
 
function getProduct(str)
{
    let product = 1;
   
    // Traversing through the string
    for (let i = 0; i < str.length; i++)
    {
     
        // Since ascii value of
        // numbers starts from 48
        // so we subtract it from sum
        product = product * (parseInt(str[i]));
    }
    return product;
}
 
// Driver Code
let st = "4513";
document.write(getProduct(st));
 
// This code is contributed by unknown2108
</script>

Producción:

60

Método #3: Recursión

  1. obtener el número
  2.  Obtener el resto y pasar los siguientes dígitos restantes
  3. Obtenga el dígito más a la derecha del número con la ayuda del operador de resto ‘%’ dividiéndolo por 10 y multiplicándolo por el producto.
  4.   Divida el número por 10 con la ayuda del operador ‘/’ para eliminar el dígito más a la derecha
  5.  Compruebe el caso base con n = 0
  6. Imprimir o devolver el producto

C++

//Recursive function to get product of the digits
 
#include <iostream>
using namespace std;
 
int getProduct(int n){
    // Base Case
    if(n == 0){
        return 1 ;
    }
     
    // get the last digit and multiply it with remaining digits
    return (n%10) * getProduct(n/10) ;
}
 
int main() {
 
   // call the function
    cout<<getProduct(125) ;
    return 0;
}

Publicación traducida automáticamente

Artículo escrito por Vaibhav_Arora 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 *