Related Articles
Cumulative product of digits of all numbers in the given range
• Last Updated : 20 Apr, 2021

Given two integers L and R, the task is to find the cumulative product of digits (i.e. product of the product of digits) of all Natural numbers in the range L to R.
Examples

Input: L = 2, R = 5
Output: 14
Explanation:
2 * 3 * 4 * 5 = 120
Input: L = 11, R = 15
Output: 120
Explanation:
(1*1) * (1*2) * (1*3) * (1*4) * (1*5) = 1 * 2 * 3 * 4 * 5 = 120

Approach:
To solve the problem mentioned above we have to observe that if:

• If the difference between L and R is greater than 9 then the product is 0 because there appears a digit 0 in every number after intervals of 9.
• Otherwise, We can find the product in a loop from L to R, the loop will run a maximum of 9 times.

Below is the implementation of the above approach:

## C++

 `// C++ program to print the product``// of all numbers in range L and R` `#include ``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;``}` `// Function to find the product of digits``// of all natural numbers in range L to R``int` `productinRange(``int` `l, ``int` `r)``{``    ``if` `(r - l > 9)``        ``return` `0;` `    ``else` `{``        ``int` `p = 1;` `        ``// Iterate between L to R``        ``for` `(``int` `i = l; i <= r; i++)` `            ``p *= getProduct(i);` `        ``return` `p;``    ``}``}` `// Driver Code``int` `main()``{``    ``int` `l = 11, r = 15;``    ``cout << productinRange(l, r)``         ``<< endl;` `    ``l = 1, r = 15;``    ``cout << productinRange(l, r);` `    ``return` `0;``}`

## Java

 `// Java program to print the product``// of all numbers in range L and R``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;``}` `// Function to find the product of digits``// of all natural numbers in range L to R``static` `int` `productinRange(``int` `l, ``int` `r)``{``    ``if` `(r - l > ``9``)``        ``return` `0``;` `    ``else``    ``{``        ``int` `p = ``1``;` `        ``// Iterate between L to R``        ``for` `(``int` `i = l; i <= r; i++)` `            ``p *= getProduct(i);` `        ``return` `p;``    ``}``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `l = ``11``, r = ``15``;``    ``System.out.print(productinRange(l, r) + ``"\n"``);` `    ``l = ``1``; r = ``15``;``    ``System.out.print(productinRange(l, r));``}``}` `// This code is contributed by Rohit_ranjan`

## Python3

 `# Python3 program to print the product``# of all numbers in range L and R` `# Function to get product of digits``def` `getProduct(n):` `    ``product ``=` `1` `    ``while` `(n !``=` `0``):``        ``product ``=` `product ``*` `(n ``%` `10``)``        ``n ``=` `int``(n ``/` `10``)` `    ``return` `product` `# Function to find the product of digits``# of all natural numbers in range L to R``def` `productinRange(l, r):` `    ``if` `(r ``-` `l > ``9``):``        ``return` `0` `    ``else``:``        ``p ``=` `1` `        ``# Iterate between L to R``        ``for` `i ``in` `range``(l, r ``+` `1``):` `            ``p ``=` `p ``*` `getProduct(i)` `        ``return` `p` `# Driver Code``l ``=` `11``r ``=` `15``print` `(productinRange(l, r), end``=``'\n'``)` `l ``=` `1``r ``=` `15``print` `(productinRange(l, r))` `# This code is contributed by PratikBasu`

## C#

 `// C# program to print the product``// of all numbers in range L and R``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;``}` `// Function to find the product of digits``// of all natural numbers in range L to R``static` `int` `productinRange(``int` `l, ``int` `r)``{``    ``if` `(r - l > 9)``        ``return` `0;``        ` `    ``else``    ``{``        ``int` `p = 1;` `        ``// Iterate between L to R``        ``for``(``int` `i = l; i <= r; i++)``           ``p *= getProduct(i);` `        ``return` `p;``    ``}``}` `// Driver Code``public` `static` `void` `Main(String[] args)``{``    ``int` `l = 11, r = 15;``    ``Console.Write(productinRange(l, r) + ``"\n"``);` `    ``l = 1; r = 15;``    ``Console.Write(productinRange(l, r));``}``}` `// This code is contributed by amal kumar choubey`

## Javascript

 ``
Output:
```120
0```

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up