Replace every element of the array by product of all other elements

12 May, 2021
Given an array of integers. Replace every element by the product of all other elements of the array.Examples:  
Input : arr[] = { 2, 3, 3, 5, 7 } 
Output : 315 210 210 126 90
Approach :  
First, take the product of all the element of the array.
Now replace each element by the product divided by that element.
Print the modified array.
Below is the implementation of above approach: 
C++
Java
Python 3
C#
PHP
Javascript
// C++ program to Replace every element// by the product of all other elements#include "iostream"using namespace std; void ReplaceElements(int arr[], int n){    int prod = 1;     // Calculate the product of all the elements    for (int i = 0; i < n; ++i) {        prod *= arr[i];    }     // Replace every element product    // of all other elements    for (int i = 0; i < n; ++i) {        arr[i] = prod / arr[i];    }} int main(){    int arr[] = { 2, 3, 3, 5, 7 };    int n = sizeof(arr) / sizeof(arr[0]);     ReplaceElements(arr, n);     // Print the modified array.    for (int i = 0; i < n; ++i) {        cout << arr[i] << " ";    }    return 0;}
// Java program to Replace every element// by the product of all other elements class GFG{static void ReplaceElements(int arr[], int n){    int prod = 1;     // Calculate the product of all the elements    for (int i = 0; i < n; ++i) {        prod *= arr[i];    }     // Replace every element product    // of all other elements    for (int i = 0; i < n; ++i) {        arr[i] = prod / arr[i];    }} public static void main(String[] args){    int arr[] = { 2, 3, 3, 5, 7 };    int n = arr.length;     ReplaceElements(arr, n);     // Print the modified array.    for (int i = 0; i < n; ++i) {        System.out.print(arr[i]+" ");    }    System.out.println(""); }}// This code is contributed by mits
# Python 3 program to Replace every# element by the product of all# other elements def ReplaceElements(arr, n):    prod = 1     # Calculate the product of    # all the elements    for i in range(n):        prod *= arr[i]     # Replace every element product    # of all other elements    for i in range(n) :        arr[i] = prod // arr[i] # Driver Codeif __name__ == "__main__":    arr = [ 2, 3, 3, 5, 7 ]    n = len(arr)     ReplaceElements(arr, n)     # Print the modified array.    for i in range( n):        print(arr[i], end = " ") # This code is contributed# by ChitraNayal
// C# program to Replace every element// by the product of all other elementsusing System; class GFG{static void ReplaceElements(int []arr, int n){    int prod = 1;     // Calculate the product of    // all the elements    for (int i = 0; i < n; ++i)    {        prod *= arr[i];    }     // Replace every element product    // of all other elements    for (int i = 0; i < n; ++i)    {        arr[i] = prod / arr[i];    }} // Driver Codestatic public void Main (){    int []arr = { 2, 3, 3, 5, 7 };    int n = arr.Length;         ReplaceElements(arr, n);         // Print the modified array.    for (int i = 0; i < n; ++i)    {        Console.Write(arr[i]+" ");    }    Console.WriteLine("");}} // This code is contributed by ajit
<?php// PHP program to Replace every element// by the product of all other elements function ReplaceElements($arr, $n){    $prod = 1;     // Calculate the product of all    // the elements    for ($i = 0; $i < $n; ++$i)    {        $prod *= $arr[$i];    }     // Replace every element product    // of all other elements    for ($i = 0; $i < $n; ++$i)    {        $arr[$i] = (int)($prod / $arr[$i]);    }    return $arr;} // Driver Code$arr = array( 2, 3, 3, 5, 7 );$n = sizeof($arr); $arr1 = ReplaceElements($arr, $n); // Print the modified array.for ($i = 0; $i < $n; ++$i){    echo $arr1[$i] . " ";} // This code is contributed// by Akanksha Rai?>
<script>    // Javascript program to Replace every element    // by the product of all other elements         function ReplaceElements(arr, n)    {        let prod = 1;         // Calculate the product of        // all the elements        for (let i = 0; i < n; ++i)        {            prod *= arr[i];        }         // Replace every element product        // of all other elements        for (let i = 0; i < n; ++i)        {            arr[i] = parseInt(prod / arr[i], 10);        }    }         let arr = [ 2, 3, 3, 5, 7 ];    let n = arr.length;           ReplaceElements(arr, n);           // Print the modified array.    for (let i = 0; i < n; ++i)    {        document.write(arr[i]+" ");    } </script>
Output :  
315 210 210 126 90
Time Complexity – O(N) 
ukasp
Mithun Kumar
jit_t
Akanksha_Rai
surajdubey5
suresh07
Technical Scripter 2018
Arrays
Mathematical
Technical Scripter
Arrays
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.