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:
- obtener el número
- Declare una variable para almacenar el producto y configúrelo en 1
- Repita los siguientes dos pasos hasta que el número no sea 0
- 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.
- Divide el número por 10 con la ayuda del operador ‘/’
- 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>
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 , 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
- obtener el número
- Obtener el resto y pasar los siguientes dígitos restantes
- 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.
- Divida el número por 10 con la ayuda del operador ‘/’ para eliminar el dígito más a la derecha
- Compruebe el caso base con n = 0
- 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