Как найти количество цифр в произведении

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    Given two integers a and b. The problem is to find the number of digits in the product of these two integers.
    Examples: 

    Input : a = 12, b = 4
    Output : 2
    12 * 4 = 48 (2 digits)
    
    Input : a = 33, b = -24
    Output : 3
    33 * -24 = -792 (3 digits)

    Basic Approach: Multiply the two numbers and then by using looping construct find the number of digits in the product. Take the absolute value of the product for finding the number of digits.
     

    C++

    #include <bits/stdc++.h>

    using namespace std;

    int countDigits(int a, int b){

        int count = 0;   

        int p = abs(a*b);

        if (p == 0) {  

            return 1;

        }

        while (p > 0){

            count++;

            p = p / 10;

        }

        return count;

    }

    int main()

    {

        int a = 33;

        int b = -24;

        cout << "Number of digits = "

             << countDigits(a,b);

        return 0;

    }

    Java

    import java.io.*;

    import java.math.*;

    class GFG {

        static int countDigits(int a, int b) {

            int count = 0;

            int p = Math.abs(a * b);

            if (p == 0) {

                return 1;

            }

            while (p > 0) {

                count++;

                p = p / 10;

            }

            return count;

        }

        public static void main(String args[])

        {

            int a = 33;

            int b = -24;

            System.out.println("Number of digits = "

                               + countDigits(a, b));

        }

    }

    Python3

    def countDigits(a, b) :

        count = 0

        p = abs(a * b)

        if (p == 0) :

            return 1

        while (p > 0) :

            count = count + 1

            p = p // 10

        return count

    a = 33

    b = -24

    print("Number of digits = ",

           countDigits(a,b))

    C#

    using System;

    class GFG {

        static int countDigits(int a, int b) {

            int count = 0;

            int p = Math.Abs(a * b);

            if (p == 0) {

                return 1;

            }

            while (p > 0) {

                count++;

                p = p / 10;

            }

            return count;

        }

        public static void Main()

        {

            int a = 33;

            int b = -24;

            Console.WriteLine("Number of digits = " +

                                  countDigits(a, b));

        }

    }

    PHP

    <?php

    function countDigits($a, $b)

    {

        $count = 0;

        $p = abs($a * $b);

        if ($p == 0) {

            return 1;

        }

        while ($p > 0)

        {

            $count++;

            $p = (int)($p / 10);

        }

        return $count;

    }

    $a = 33;

    $b = -24;

    echo "Number of digits = " .

            countDigits($a, $b);

    ?>

    Javascript

    <script>

        function countDigits(a, b)

        {

            let count = 0;   

            let p = Math.abs(a*b);

            if (p == 0) {  

                return 1;

            }

            while (p > 0)   

            {

                count++;

                p = parseInt(p / 10, 10);

            }

            return count;

        }

        let a = 33;

        let b = -24;

        document.write("Number of digits = " + countDigits(a,b));

    </script>

    Output: 
     

    Number of digits = 3

    Time Complexity: O(log(abs(a*b)))  where abs is absolute value of a*b.
    Auxiliary Space: O(1)

    Another  Approach: To count the number of digits in the product of two numbers we can use the formula given below:  Here time complexity will remain same.
     

                    count = floor(log10(a) + log10(b)) + 1

    Here both the numbers need to be positive integers. For this we can take the absolute values of a and b
     

    C++

    #include <bits/stdc++.h>

    using namespace std;

    int countDigits(int a, int b)

    {

        if (a == 0 || b == 0){

            return 1;

        }

        return floor(log10(abs(a)) + log10(abs(b))) + 1;   

    }

    int main()

    {

        int a = 33;

        int b = -24;

        cout << countDigits(a,b);

        return 0;

    }

    Java

    class GFG {

        public static int countDigits(int a, int b)

        {

            if (a == 0 || b == 0) {

                return 1;

            }

            return (int)Math.floor(Math.log10(Math.abs(a)) +

                                Math.log10(Math.abs(b))) + 1;   

        }

        public static void main(String[] args)

        {

            int a = 33;

            int b = -24;

            System.out.print(countDigits(a,b));

        }

    }

    Python3

    import math

    def countDigits(a, b) :

        if (a == 0 or b == 0) :

            return 1

        return math.floor(math.log10(abs(a)) +

                       math.log10(abs(b))) + 1

    a = 33

    b = -24

    print(countDigits(a, b))

    C#

    using System;

    class GFG {

        public static int countDigits(int a,

                                      int b)

        {

            if (a == 0 || b == 0) {

                return 1;

            }

            return (int)Math.Floor(

                     Math.Log10(Math.Abs(a))

              + Math.Log10(Math.Abs(b))) + 1;

        }

        static void Main()

        {

            int a = 33;

            int b = -24;

            Console.Write(countDigits(a, b));

        }

    }

    PHP

    <?php

    function countDigits($a, $b)

    {

        if ($a == 0 or $b == 0) {

            return 1;

        }

        return floor(log10(abs($a)) +

                     log10(abs($b))) + 1;

    }

    $a = 33;

    $b = -24;

    echo countDigits($a, $b);

    ?>

    Javascript

    <script>

    function countDigits(a, b)

    {

        if (a == 0 || b == 0) {

            return 1;

        }

        return Math.floor(Math.log10(Math.abs(a)) + Math.log10(Math.abs(b))) + 1;   

    }

        let a = 33;

        let b = -24;

        document.write(countDigits(a,b));

    </script>

    Output: 
     

    3

    Time Complexity: O(loga + logb) = O(log(a*b))
    Auxiliary Space: O(1)
     

    This article is contributed by Ayush Jauhari. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
    Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
     

    Last Updated :
    14 Feb, 2023

    Like Article

    Save Article

    Опредили, сколько цифр получится в произведении.

    Проверьте свои ответы с помощью вычеслений.

    ОБРАЗЕЦ.

    478 * 7 = ♦♦♦♦, так как 400 * 7 = 2800.

    24 * 3 211 * 9 451 * 5 7260 * 8 3105 * 8 24 * 9 267 * 2 639 * 8 1510 * 7 1100 * 9 ПОМОГИТЕ ПОЖАЛУЙСТА!

    Вы зашли на страницу вопроса Опредили, сколько цифр получится в произведении?, который относится к
    категории Математика. По уровню сложности вопрос соответствует учебной
    программе для учащихся 1 – 4 классов. В этой же категории вы найдете ответ
    и на другие, похожие вопросы по теме, найти который можно с помощью
    автоматической системы «умный поиск». Интересную информацию можно найти в
    комментариях-ответах пользователей, с которыми есть обратная связь для
    обсуждения темы. Если предложенные варианты ответов не удовлетворяют,
    создайте свой вариант запроса в верхней строке.



    • 0




    СРОЧНО!!!Определить сколько цифр получится в произведении проверьте свои ответы с помощью вычисления.Решите пож

    СРОЧНО!!!Определить сколько цифр получится в произведении проверьте свои ответы с помощью вычисл...

    • Комментариев (0)



    • 0


    1) 24*3 = **, так как 20*3=60;
    2) 24*9 = ***, так как 20*9=180;
    3) 211*9 = ****, так как 200*9=1800;
    4) 267*2 = ***, так как 200*2=400;
    5) 451*5 = ****, так как 400*5=2000;
    6) 639*8 = ****, так как 600*8=4800;
    7) 7260*8 = *****, так как 7000*8=56000;
    8) 1510*7= *****, так как 1500*7=10500;
    9) 3105*8= *****, так как 3000*8=24000;
    10) 1100*9 = ****, так как 1000*9=9000;

    • Комментариев (0)

    Количество цифр в произведении двух чисел

    30.12.2019Математика

    Даны два целых числа a и b . Проблема состоит в том, чтобы найти количество цифр в произведении этих двух целых чисел.

    Примеры:

    Input : a = 12, b = 4
    Output : 2
    12 * 4 = 48 (2 digits)
    
    Input : a = 33, b = -24
    Output : 3
    33 * -24 = -792 (3 digits)
    

    Наивный подход: Умножьте два числа и затем с помощью циклической конструкции найдите количество цифр в продукте. Возьмите абсолютное значение произведения для нахождения количества цифр.

    C ++

    #include <bits/stdc++.h>

    using namespace std;

    int countDigits(int a, int b)

    {

        int count = 0;    

        int p = abs(a*b);

        if (p == 0)    

            return 1;

        while (p > 0)    

        {

            count++;

            p = p / 10;

        }

        return count;

    }

    int main()

    {

        int a = 33;

        int b = -24;

        cout << "Number of digits = "

             << countDigits(a,b);

        return 0;

    }

    Джава

    import java.io.*;

    import java.math.*;

    class GFG {

        static int countDigits(int a, int b)

        {

            int count = 0

            int p = Math.abs(a * b);

            if (p == 0

                return 1;

            while (p > 0

            {

                count++;

                p = p / 10;

            }

            return count;

        }

        public static void main(String args[])

        {

            int a = 33;

            int b = -24;

            System.out.println("Number of digits = "

                               + countDigits(a, b));

        }

    }

    python3

    def countDigits(a, b) :

        count = 0

        p = abs(a * b)

        if (p == 0) :

            return 1

        while (p > 0) :

            count = count + 1

            p = p // 10

        return count

    a = 33

    b = -24

    print("Number of digits = ",

           countDigits(a,b))

    C #

    using System;

    class GFG {

        static int countDigits(int a, int b)

        {

            int count = 0;

            int p = Math.Abs(a * b);

            if (p == 0)

                return 1;

            while (p > 0) {

                count++;

                p = p / 10;

            }

            return count;

        }

        public static void Main()

        {

            int a = 33;

            int b = -24;

            Console.WriteLine("Number of digits = " +

                                  countDigits(a, b));

        }

    }

    PHP

    <?php

    function countDigits($a, $b)

    {

        $count = 0; 

        $p = abs($a * $b);

        if ($p == 0) 

            return 1;

        while ($p > 0) 

        {

            $count++;

            $p = (int)($p / 10);

        }

        return $count;

    }

    $a = 33;

    $b = -24;

    echo "Number of digits = "

            countDigits($a, $b);

      

    ?>

    Выход:

    Number of digits = 3
    

    Эффективный подход: для подсчета количества цифр в произведении двух чисел мы можем использовать приведенную ниже формулу:

                    count = floor(log10(a) + log10(b)) + 1
    

    Здесь оба числа должны быть положительными целыми числами. Для этого мы можем взять абсолютные значения a и b .

    C ++

    #include <bits/stdc++.h>

    using namespace std;

    int countDigits(int a, int b)

    {

        if (a == 0 || b == 0)

            return 1;

        return floor(log10(abs(a)) + log10(abs(b))) + 1;    

    }

    int main()

    {

        int a = 33;

        int b = -24;

        cout << countDigits(a,b);

        return 0;

    }

    Джава

    class GFG {

        public static int countDigits(int a, int b)

        {

            if (a == 0 || b == 0)

                return 1;

            return (int)Math.floor(Math.log10(Math.abs(a)) + 

                                Math.log10(Math.abs(b))) + 1;    

        }

        public static void main(String[] args) 

        {

            int a = 33;

            int b = -24;

            System.out.print(countDigits(a,b));

        }

    }

    python3

    import math 

    def countDigits(a, b) :

        if (a == 0 or b == 0) :

            return 1

        return math.floor(math.log10(abs(a)) + 

                       math.log10(abs(b))) + 1

    a = 33

    b = -24

    print(countDigits(a, b))

    C #

    using System;

    class GFG {

        public static int countDigits(int a,

                                      int b)

        {

            if (a == 0 || b == 0)

                return 1;

            return (int)Math.Floor(

                     Math.Log10(Math.Abs(a))

              + Math.Log10(Math.Abs(b))) + 1; 

        }

        static void Main()

        {

            int a = 33;

            int b = -24;

            Console.Write(countDigits(a, b));

        }

    }

    PHP

    <?php

    function countDigits($a, $b)

    {

        if ($a == 0 or $b == 0)

            return 1;

        return floor(log10(abs($a)) +

                     log10(abs($b))) + 1;

    }

    $a = 33;

    $b = -24;

    echo countDigits($a, $b);

      

    ?>

    Выход:

    3
    

    Эта статья предоставлена Аюшем Джаухари . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

    Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

    Рекомендуемые посты:

    • Проверьте, делится ли произведение цифр в четных местах на сумму цифр в нечетном месте числа
    • Сортировать числа в соответствии с их произведением цифр
    • Найти последние k цифр в произведении чисел массива
    • Найти максимальную сумму цифр произведения двух чисел
    • Найти максимальное произведение цифр среди чисел, меньших или равных N
    • Количество чисел между диапазонами, имеющими только ненулевые цифры, чья сумма цифр равна N, а число делится на M
    • Программа для расчета произведения цифр числа
    • Максимальная сумма и произведение М последовательных цифр в числе
    • Наименьшее число k такое, что произведение цифр k равно n
    • Сумма и Произведение цифр в числе, которые делят число
    • Проверьте, равно ли произведение цифр числа в четных и нечетных местах
    • Найти число в диапазоне с максимальным произведением цифр
    • Проверьте, делится ли произведение цифр в четных местах числа на K
    • Максимум суммы и произведения цифр, пока число не уменьшится до одной цифры
    • Проверьте, имеют ли два числа одинаковое количество цифр

    Количество цифр в произведении двух чисел

    0.00 (0%) 0 votes

    Содержание материала

    1. Определение произведения чисел
    2. Видео
    3. Что такое множитель по математике?
    4. Основное свойство произведения
    5. Как называются числа при умножении?
    6. Переместительный закон умножения
    7. Умножение многозначного числа на однозначное
    8. Изменение произведения чисел при изменении его сомножителей
    9. Умножение любого натурального числа на нуль

    Определение произведения чисел

    Произведение двух чисел это есть не что иное, как взятое одно из чисел в количестве другого числа.

    Еще раз! Если произведение будет С, то номинальное значение одного из чисел пусть а, взятое в количестве b раз и будет этим произведением. Можно записать скажем так

    С=а1+а2+а3+а4…+аb  где 1,2,3,4…b будут индексом указывающим на то, какое это число а по порядку и не более того!

     

    Пример  Найти произведение чисел:

    1) 1.2⋅3 ;

    Ответ.1,2⋅3=3,6

    2) 4⋅5⋅13

    Ответ: 4⋅5⋅13=260

    Видео

    Что такое множитель по математике?

    Компоненты умножения называются множители. Первый множитель показывает, какое число прибавляют, второй множитель показывает – сколько раз прибавляют это число. Результат умножения называется произведение.

    Основное свойство произведения

    Произведение не изменяется от перемены порядка производителей.

    Доказательство. Умножить 7 на 3 значит 7 повторить три раза. Заменив 7 суммою 7 единиц и вложив их в вертикальном порядке, имеем:

    Таким образом, при умножении двух чисел мы можем с

    Таким образом, при умножении двух чисел мы можем считать множителем любой из двух производителей. На этом основании производители называются сомножителями или просто множителями.

    Самый общий прием умножения состоит в сложении равных слагаемых; но, если производители велики, этот прием приводит к длинным вычислениям, поэтому самое вычисление располагают иначе.

    Как называются числа при умножении?

    Так же, как и при сложении и вычитании, числа при умножении тоже имеют свое название. Первое число при умножении называется первый множитель. Второе число при умножении называется второй множитель. Результат умножения называют произведение.

    Переместительный закон умножения

    Рассмотрим задачу:

    Мы отдали по два яблока 5 своим друзьям. Математически запись будет выглядеть так: 2⋅5. Или мы отдали по 5 яблок двум своим друзьям. Математически запись будет выглядеть так: 5⋅2. В первом и втором случаем мы раздадим одинаковое количество яблок равное 10 штукам.

    Если мы умножим  2⋅5=10 и 5⋅2=10, то результат не поменяется.

    2⋅5=5⋅2

    Свойство переместительного закона умножения: От перемены мест множителей произведение не меняется. mn=n⋅m

    Умножение многозначного числа на однозначное

    Умножение числа 8094 на 3 обозначают тем, что подписывают множитель под множимым, ставят слева знак умножения и проводят черту с тем, чтобы отделить произведение.

    Умножить многозначное число 8094 на 3 значит найти

    Умножить многозначное число 8094 на 3 значит найти сумму трех равных слагаемых

    следовательно, для умножения нужно все порядки мно

    следовательно, для умножения нужно все порядки многозначного числа повторить три раза, то есть умножить на 3 единицы, десятки, сотни, и т. п. Сложение начинают с единицы, следовательно, и умножение нужно начинать с единицы, а затем переходят от правой руки к левой к единицам высшего порядка.

    При этом ход вычислений выражают словесно:

    1. Начинаем умножение с единиц: 3 × 4 составляют 12, подписываем под единицами 2, а единицу (1 десяток) прикладываем к произведению следующего порядка на множитель (или запоминаем ее в уме).

    2. Умножаем десятки: 3 × 9 составляет 27, да 1 в уме составят 28; подписываем под десятками 8 и 2 в уме.

    3. Умножаем сотни: Нуль, умноженный на 3, дает нуль, да 2 в уме составит 2, подписываем под сотнями 2.

    4. Умножаем тысячи: 3 × 8 = 24, подписываем вполне 24, ибо не имеем следующих порядков.

    Это действие выразится письменно:

    Из предыдущего примера выводим следующее правило.

    Из предыдущего примера выводим следующее правило. Чтобы умножить многозначное число на однозначное, нужно:

    1. Подписать множитель под единицами множимого, поставить слева знак умножения и провести черту.

    2. Умножение начинать с простых единиц, затем, переходя от правой руки к левой, последовательно умножают десятки, сотни, тысячи и т. д.

    3. Если при умножении произведение выражается однозначным числом, то его подписывают под умножаемой цифрой множимого.

    4. Если же произведение выражается двухзначным числом, то цифру единиц подписывают под тем же столбцом, а цифру десятков прибавляют к произведению следующего порядка на множитель.

    5. Умножение продолжается до тех пор, пока не получат полного произведения.

    Изменение произведения чисел при изменении его сомножителей

    Чтобы понять, что происходит с произведением чисел при изменении одного или нескольких сомножителей, нужно вспомнить, что действие умножения – это частный случай действия сложения, а также переместительный и сочетательный законы сложения.

    Если увеличить один из сомножителей в несколько раз, произведение также увеличится в это же число раз.

    Рассмотрим пример 18 ∙2. Увеличив второй сомножитель, к примеру, в 3 раза, мы получим другое выражение: 18 ∙6.

    Умножение любого натурального числа на нуль

    6⋅0=0 или  0⋅6=0 a⋅0=0 или 0⋅a=0 При умножении любого натурального числа на нуль произведение будет равно нулю.

    Вопросы к теме “Умножение”:

    Что такое произведение чисел? Ответ: произведением чисел или умножение чисел называется выражение m⋅n, где m – слагаемое, а n – число повторений этого слагаемого.

    Для чего нужно умножение? Ответ: чтобы не писать длинное сложение чисел, а писать сокращенно. Например, 3+3+3+3+3+3=3⋅6=18

    Что является результатом умножения? Ответ: значение произведения.

    Что означает запись умножения  3⋅5? Ответ: 3⋅5=5+5+5=3+3+3+3+3=15

    Если умножить миллион на нуль, чему будет равно произведение? Ответ: 0

    Пример №1: Замените сумму произведением: а) 12+12+12+12+12  б)3+3+3+3+3+3+3+3+3 Ответ: а)12⋅5=60 б) 3⋅9=27

    Пример №2: Запишите в виде произведения: а) а+а+а+а б) с+с+с+с+с+с+с Решение: а)а+а+а+а=4⋅а б) с+с+с+с+с+с+с=7⋅с

    Задача №1: Мама купила 3 коробки конфет. В каждой коробке по 8 конфет. Сколько конфет купила мама? Решение: В одной коробке 8 конфет, а у нас таких коробок 3 штуки. 8+8+8=8⋅3=24 конфеты Ответ: 24 конфеты.

    Задача №2: Учительница рисования сказала приготовить своим восемью ученикам по семь карандашей на урок. Сколько всего карандашей вместе было у детей? Решение: Можно посчитать суммой задачу. У первого ученика было 7 карандашей, у второго ученика было 7 карандашей и т.д. 7+7+7+7+7+7+7+7=56 Запись получилась неудобная и длинная, заменим сумму на произведение. 7⋅8=56 Ответ 56 карандашей.

    Теги

    Добавить комментарий