Dados dos enteros a y b . El problema es encontrar el número de dígitos en el producto de estos dos números enteros.
Ejemplos:
Input : a = 12, b = 4 Output : 2 12 * 4 = 48 (2 digits) Input : a = 33, b = -24 Output : 3 33 * -24 = -792 (3 digits)
Enfoque ingenuo: multiplique los dos números y luego, utilizando la construcción de bucle, encuentre la cantidad de dígitos en el producto. Tome el valor absoluto del producto para encontrar el número de dígitos.
C++
// C++ implementation to count number of digits // in the product of two numbers #include <bits/stdc++.h> using namespace std; // function to count number of digits // in the product of two numbers int countDigits(int a, int b) { int count = 0; // absolute value of the // product of two numbers int p = abs(a*b); // if product is 0 if (p == 0) return 1; // count number of digits in the product 'p' while (p > 0) { count++; p = p / 10; } // required count of digits return count; } // Driver program to test above int main() { int a = 33; int b = -24; cout << "Number of digits = " << countDigits(a,b); return 0; }
Java
// Java implementation to count // number of digits in the product // of two numbers import java.io.*; import java.math.*; class GFG { // function to count number of digits // in the product of two numbers static int countDigits(int a, int b) { int count = 0; // absolute value of the // product of two numbers int p = Math.abs(a * b); // if product is 0 if (p == 0) return 1; // count number of digits in // the product 'p' while (p > 0) { count++; p = p / 10; } // required count of digits return count; } // Driver program to test above public static void main(String args[]) { int a = 33; int b = -24; System.out.println("Number of digits = " + countDigits(a, b)); } } /*This code is contributed by Nikita Tiwari.*/
Python3
# Python 3 implementation to count # number of digits in the product # of two numbers # function to count number of digits # in the product of two numbers def countDigits(a, b) : count = 0 # absolute value of the # product of two numbers p = abs(a * b) # if product is 0 if (p == 0) : return 1 # count number of digits # in the product 'p' while (p > 0) : count = count + 1 p = p // 10 # required count of digits return count # Driver program to test above a = 33 b = -24 print("Number of digits = ", countDigits(a,b)) # This code is contributed by Nikita Tiwari.
C#
// C# implementation to count // number of digits in the product // of two numbers using System; class GFG { // function to count number of digits // in the product of two numbers static int countDigits(int a, int b) { int count = 0; // absolute value of the // product of two numbers int p = Math.Abs(a * b); // if product is 0 if (p == 0) return 1; // count number of digits in // the product 'p' while (p > 0) { count++; p = p / 10; } // required count of digits return count; } // Driver program to test above public static void Main() { int a = 33; int b = -24; Console.WriteLine("Number of digits = " + countDigits(a, b)); } } // This code is contributed by Sam007
PHP
<?php // PHP implementation to count // number of digits in the // product of two numbers // function to count number // of digits in the product // of two numbers function countDigits($a, $b) { $count = 0; // absolute value of the // product of two numbers $p = abs($a * $b); // if product is 0 if ($p == 0) return 1; // count number of digits // in the product 'p' while ($p > 0) { $count++; $p = (int)($p / 10); } // required count of digits return $count; } // Driver Code $a = 33; $b = -24; echo "Number of digits = " . countDigits($a, $b); // This code is contributed by mits ?>
Javascript
<script> // Javascript implementation to count number of digits // in the product of two numbers // function to count number of digits // in the product of two numbers function countDigits(a, b) { let count = 0; // absolute value of the // product of two numbers let p = Math.abs(a*b); // if product is 0 if (p == 0) return 1; // count number of digits in the product 'p' while (p > 0) { count++; p = parseInt(p / 10, 10); } // required count of digits return count; } let a = 33; let b = -24; document.write("Number of digits = " + countDigits(a,b)); // This code is contributed by divyeshrabadiya07. </script>
Producción:
Number of digits = 3
Enfoque eficiente: para contar la cantidad de dígitos en el producto de dos números, podemos usar la fórmula que se proporciona a continuación:
count = floor(log10(a) + log10(b)) + 1
Aquí ambos números deben ser enteros positivos. Para esto podemos tomar los valores absolutos de a y b .
C++
// C++ implementation to count number of digits // in the product of two numbers #include <bits/stdc++.h> using namespace std; // function to count number of digits // in the product of two numbers int countDigits(int a, int b) { // if either of the number is 0, then // product will be 0 if (a == 0 || b == 0) return 1; // required count of digits return floor(log10(abs(a)) + log10(abs(b))) + 1; } // Driver program to test above int main() { int a = 33; int b = -24; cout << countDigits(a,b); return 0; }
Java
// JAVA Code for Number of digits // in the product of two numbers class GFG { // function to count number of digits // in the product of two numbers public static int countDigits(int a, int b) { // if either of the number is 0, then // product will be 0 if (a == 0 || b == 0) return 1; // required count of digits return (int)Math.floor(Math.log10(Math.abs(a)) + Math.log10(Math.abs(b))) + 1; } /* Driver program to test above function */ public static void main(String[] args) { int a = 33; int b = -24; System.out.print(countDigits(a,b)); } } // This code is contributed by Arnav Kr. Mandal.
Python3
# Python 3 implementation to count # number of digits in the product # of two numbers import math # function to count number of digits # in the product of two numbers def countDigits(a, b) : # if either of the number is 0, # then product will be 0 if (a == 0 or b == 0) : return 1 # required count of digits return math.floor(math.log10(abs(a)) + math.log10(abs(b))) + 1 # Driver program to test above a = 33 b = -24 print(countDigits(a, b)) # This code is contributed by Nikita Tiwari.
C#
// C# Code for Number of digits // in the product of two numbers using System; class GFG { // function to count number of // digits in the product of two // numbers public static int countDigits(int a, int b) { // if either of the number is 0, // then product will be 0 if (a == 0 || b == 0) return 1; // required count of digits return (int)Math.Floor( Math.Log10(Math.Abs(a)) + Math.Log10(Math.Abs(b))) + 1; } // Driver code static void Main() { int a = 33; int b = -24; Console.Write(countDigits(a, b)); } } // This code is contributed by Sam007
PHP
<?php // PHP implementation to count // number of digits in the product // of two numbers // function to count number of digits // in the product of two numbers function countDigits($a, $b) { // if either of the number is // 0, then product will be 0 if ($a == 0 or $b == 0) return 1; // required count of digits return floor(log10(abs($a)) + log10(abs($b))) + 1; } // Driver Code $a = 33; $b = -24; echo countDigits($a, $b); // This code is contributed by mits ?>
Javascript
<script> // Javascript implementation to count number of digits // in the product of two numbers // function to count number of digits // in the product of two numbers function countDigits(a, b) { // if either of the number is 0, then // product will be 0 if (a == 0 || b == 0) return 1; // required count of digits return Math.floor(Math.log10(Math.abs(a)) + Math.log10(Math.abs(b))) + 1; } // Driver program to test above let a = 33; let b = -24; document.write(countDigits(a,b)); // This code is contributed by Mayank Tyagi </script>
Producción:
3
Este artículo es una contribución de Ayush Jauhari . 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