Open In App

Program for product of array

Given an array, find a product of all array elements.

Examples :

```Input  : ar[] = {1, 2, 3, 4, 5}
Output : 120
Product of array elements is 1 x 2
x 3 x 4 x 5 = 120.

Input  : ar[] = {1, 6, 3}
Output : 18```

Implementation:

Two Pointer Approach:

```Approach:
1) Input: arr[]
2) Initialize with start and last pointers i.e i,j. and also initialize product=0
3) Iterate i=0 to i>j;
i+=1
j-=1
4) Multiply first and last numbers at a time while iterating.
5) if i==j multiply element only once.```

C++

 `#include ``using` `namespace` `std;`` ` `int` `main()``{`` ` `    ``// array Elements``    ``int` `arr[] = { 1, 2, 3, 4, 5 };``    ``int` `product = 1;`` ` `    ``// initialize start and last pointers``    ``int` `i = 0;``    ``int` `j = ``sizeof``(arr) / ``sizeof``(arr[0]) - 1;`` ` `    ``// add first and last simultaneously``    ``while` `(i < j) {``        ``product *= arr[i] * arr[j];``        ``i++;``        ``j--;``    ``}`` ` `    ``// multiply only one element``    ``if` `(i == j) {``        ``product *= arr[i];``    ``}`` ` `    ``// printing product``    ``cout << product << endl;``}`` ` `// This code is contributed by Potta Lokesh`

Java

 `/*package whatever //do not write package name here */``import` `java.io.*;`` ` `class` `GFG {``  ``public` `static` `void` `main (String[] args)``  ``{``     ` `    ``// array Elements``    ``int` `arr[] = { ``1``, ``2``, ``3``, ``4``, ``5` `};``    ``int` `product = ``1``;`` ` `    ``// initialize start and last pointers``    ``int` `i = ``0``;``    ``int` `j = arr.length- ``1``;`` ` `    ``// add first and last simultaneously``    ``while` `(i < j) {``      ``product *= arr[i] * arr[j];``      ``i++;``      ``j--;``    ``}`` ` `    ``// multiply only one element``    ``if` `(i == j) {``      ``product *= arr[i];``    ``}`` ` `    ``// printing product``    ``System.out.println( product);``  ``}``}`` ` `// This code is contributed by pradeepkumarppk2003`

Python3

 `# Python code to product elements in array`` ` `#array Elements``arr``=``[``1``,``2``,``3``,``4``,``5``]``product``=``1`` ` `#initialize start and last pointers``i``=``0``j``=``len``(arr)``-``1`` ` `#add first and last simultaneously ``while``(i

C#

 `// C# code to product elements in array``using` `System;`` ` `public` `class` `GFG {``    ``public` `static` `void` `Main(``string``[] args)``    ``{`` ` `        ``// array Elements``        ``int``[] arr = { 1, 2, 3, 4, 5 };``        ``int` `product = 1;`` ` `        ``// initialize start and last pointers``        ``int` `i = 0;``        ``int` `j = arr.Length - 1;`` ` `        ``// add first and last simultaneously``        ``while` `(i < j) {``            ``product *= arr[i] * arr[j];``            ``i += 1;``            ``j -= 1;``        ``}``        ``// multiply only one element``        ``if` `(i == j)``            ``product *= arr[i];`` ` `        ``// printing product``        ``Console.WriteLine(product);``    ``}``}`` ` `// This code is contributed by Karandeep1234`

Javascript

 `// Javascript code to product elements in array`` ` `// array Elements``let arr = [1,2,3,4,5];``let product = 1;`` ` `// initialize start and last pointers``let i = 0;``let j = arr.length-1;`` ` `// add first and last simultaneously ``while``(i < j)``{``    ``product *= arr[i]*arr[j];``    ``i += 1;``    ``j -= 1;``}``     ` `// multiply only one element``if``(i == j)``    ``product *= arr[i];`` ` `// printing product``console.log(product);`` ` `// This code is contributed by poojaagarwal2.`

Output

`120`

Time Complexity : O(n)
Auxiliary Space : O(1)

Implementation:

C++

 `// C++ program to find product of array elements.`` ` `#include ``using` `namespace` `std;`` ` `int` `product(``int` `ar[], ``int` `n)``{``    ``int` `result = 1;``    ``for` `(``int` `i = 0; i < n; i++)``        ``result = result * ar[i];``    ``return` `result;``}`` ` `int` `main()``{`` ` `    ``int` `ar[] = { 1, 2, 3, 4, 5 };``    ``int` `n = ``sizeof``(ar) / ``sizeof``(ar[0]);``    ``cout << product(ar, n);``    ``return` `0;``}`` ` `// This code is contributed by lokeshmvs21.`

C

 `// C program to find product of array``// elements.``#include `` ` `int` `product(``int` `ar[], ``int` `n)``{``    ``int` `result = 1;``    ``for` `(``int` `i = 0; i < n; i++)``        ``result = result * ar[i];``    ``return` `result;``}`` ` `// driver code for the above program``int` `main()``{``    ``int` `ar[] = { 1, 2, 3, 4, 5 };``    ``int` `n = ``sizeof``(ar) / ``sizeof``(ar[0]);``    ``printf``(``"%d"``, product(ar, n));``    ``return` `0;``}`

Java

 `// Java program to find product of array``// elements.``import` `java.io.*;``public` `class` `GFG{`` ` `    ``static` `int` `product(``int` `ar[], ``int` `n)``    ``{``        ``int` `result = ``1``;``        ``for` `(``int` `i = ``0``; i < n; i++)``            ``result = result * ar[i];``        ``return` `result;``    ``}``      ` `    ``// driver code for the above program``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int` `ar[] = { ``1``, ``2``, ``3``, ``4``, ``5` `};``        ``int` `n = ar.length;``        ``System.out.printf(``"%d"``, product(ar, n));``    ``}``}`` ` `// This code is contributed by Smitha Dinesh Semwal`

Python3

 `# Python3 program to find ``# product of array elements.``def` `product(ar, n):`` ` `    ``result ``=` `1``    ``for` `i ``in` `range``(``0``, n):``        ``result ``=` `result ``*` `ar[i]``    ``return` `result`` ` ` ` `# Driver Code``ar ``=` `[ ``1``, ``2``, ``3``, ``4``, ``5` `]``n ``=` `len``(ar)`` ` `print``(product(ar, n))`` ` `# This code is contributed by Smitha Dinesh Semwal.`

C#

 `// C# program to find product of array``// elements.``using` `System;`` ` `class` `GFG {`` ` `    ``static` `int` `product(``int` `[]ar, ``int` `n)``    ``{``        ``int` `result = 1;``         ` `        ``for` `(``int` `i = 0; i < n; i++)``            ``result = result * ar[i];``             ` `        ``return` `result;``    ``}``     ` `    ``// driver code for the above program``    ``public` `static` `void` `Main()``    ``{``        ``int` `[]ar = { 1, 2, 3, 4, 5 };``        ``int` `n = ar.Length;``         ` `        ``Console.WriteLine(product(ar, n));``    ``}``}`` ` `// This code is contributed by vt_m.`

PHP

 ``

Javascript

 ``

Output

`120`

Time Complexity : O(n)
Auxiliary Space : O(1)

The above code may cause overflow. Therefore, it is always desired to compute product under modulo. The reason for its working is the simple distributive property of modulo.

`( a * b) % c = ( ( a % c ) * ( b % c ) ) % c`

Below is a program to find and print the product of all the number in this array of Modulo (10^9 +7)

Implementation:

C++

 `// C++ code for above program to find product``// under modulo.`` ` `#include ``using` `namespace` `std;`` ` `const` `int` `MOD = 1000000007;`` ` `int` `product(``int` `ar[], ``int` `n)``{``    ``int` `result = 1;``    ``for` `(``int` `i = 0; i < n; i++)``        ``result = (result * ar[i]) % MOD;``    ``return` `result;``}`` ` `int` `main()``{`` ` `    ``int` `ar[] = { 1, 2, 3, 4, 5 };``    ``int` `n = ``sizeof``(ar) / ``sizeof``(ar[0]);``    ``cout << product(ar, n);``    ``return` `0;``}`` ` `// This code is contributed by lokeshmvs21.`

C

 `// C code for above program to find product``// under modulo.``#include `` ` `const` `int` `MOD = 1000000007;`` ` `int` `product(``int` `ar[], ``int` `n)``{``    ``int` `result = 1;``    ``for` `(``int` `i = 0; i < n; i++)``        ``result = (result * ar[i]) % MOD;``    ``return` `result;``}`` ` `// driver code for the above program``int` `main()``{``    ``int` `ar[] = { 1, 2, 3, 4, 5 };``    ``int` `n = ``sizeof``(ar) / ``sizeof``(ar[0]);``    ``printf``(``"%d"``, product(ar, n));``    ``return` `0;``}`

Java

 `// Java code for above program to find product``// under modulo.``import` `java.io.*;``public` `class` `GFG {``     ` `    ``static` `final` `int` `MOD = ``1000000007``;`` ` `    ``static` `int` `product(``int` `ar[], ``int` `n)``    ``{``        ``int` `result = ``1``;``        ``for` `(``int` `i = ``0``; i < n; i++)``            ``result = (result * ar[i]) % MOD;``             ` `        ``return` `result;``    ``}`` ` `    ``// driver code for the above program``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int` `ar[] = { ``1``, ``2``, ``3``, ``4``, ``5` `};``        ``int` `n = ar.length;``         ` `        ``System.out.printf(``"%d"``, product(ar, n));``    ``}``}`` ` `// This code is contributed by  Smitha Dinesh Semwal.`

Python3

 `# Python 3 code for above``# program to find product``# under modulo.`` ` `MOD ``=` `1000000007`` ` `def` `product(ar, n):`` ` `    ``result ``=` `1``    ``for` `i ``in` `range``(``0``, n):``        ``result ``=` `(result ``*` `ar[i]) ``%` `MOD``    ``return` `result`` ` ` ` `# driver code for the``# above program``ar ``=` `[``1``, ``2``, ``3``, ``4``, ``5``] ``n ``=` `len``(ar) `` ` `print``(product(ar, n))`` ` `# This code is contributed by``# Smitha Dinesh Semwal`

C#

 `  ``// C# code for above program to find product``// under modulo.``using` `System;``class` `GFG {``     ` `    ``static`  `int` `MOD = 1000000007;`` ` `    ``static` `int` `product(``int` `[]ar, ``int` `n)``    ``{``        ``int` `result = 1;``        ``for` `(``int` `i = 0; i < n; i++)``            ``result = (result * ar[i]) % MOD;``             ` `        ``return` `result;``    ``}`` ` `    ``// driver code for the above program``    ``public` `static` `void` `Main()``    ``{``        ``int` `[]ar = { 1, 2, 3, 4, 5 };``        ``int` `n = ar.Length;``         ` `        ``Console.WriteLine(product(ar, n));``    ``}``}`` ` `// This code is contributed by vt_m.`

PHP

 ``

Javascript

 ``

Output

`120`

Time Complexity : O(n)
Auxiliary Space : O(1)

This article is contributed by Shivani Baghel. 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.