Given an array of positive 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++
// 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
// 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
# 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 Code if __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#
// C# program to Replace every element // by the product of all other elements using 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 Code static 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 // 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 ?> |
Javascript
<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
Complexity Analysis:
- Time Complexity: O(N)
- Auxiliary Space: O(1)