Replace every element of the array by product of all other elements
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++
#include "iostream"
using namespace std;
void ReplaceElements( int arr[], int n)
{
int prod = 1;
for ( int i = 0; i < n; ++i) {
prod *= arr[i];
}
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);
for ( int i = 0; i < n; ++i) {
cout << arr[i] << " " ;
}
return 0;
}
|
Java
class GFG{
static void ReplaceElements( int arr[], int n)
{
int prod = 1 ;
for ( int i = 0 ; i < n; ++i) {
prod *= arr[i];
}
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);
for ( int i = 0 ; i < n; ++i) {
System.out.print(arr[i]+ " " );
}
System.out.println( "" );
}
}
|
Python 3
def ReplaceElements(arr, n):
prod = 1
for i in range (n):
prod * = arr[i]
for i in range (n) :
arr[i] = prod / / arr[i]
if __name__ = = "__main__" :
arr = [ 2 , 3 , 3 , 5 , 7 ]
n = len (arr)
ReplaceElements(arr, n)
for i in range ( n):
print (arr[i], end = " " )
|
C#
using System;
class GFG
{
static void ReplaceElements( int []arr, int n)
{
int prod = 1;
for ( int i = 0; i < n; ++i)
{
prod *= arr[i];
}
for ( int i = 0; i < n; ++i)
{
arr[i] = prod / arr[i];
}
}
static public void Main ()
{
int []arr = { 2, 3, 3, 5, 7 };
int n = arr.Length;
ReplaceElements(arr, n);
for ( int i = 0; i < n; ++i)
{
Console.Write(arr[i]+ " " );
}
Console.WriteLine( "" );
}
}
|
PHP
<?php
function ReplaceElements( $arr , $n )
{
$prod = 1;
for ( $i = 0; $i < $n ; ++ $i )
{
$prod *= $arr [ $i ];
}
for ( $i = 0; $i < $n ; ++ $i )
{
$arr [ $i ] = (int)( $prod / $arr [ $i ]);
}
return $arr ;
}
$arr = array ( 2, 3, 3, 5, 7 );
$n = sizeof( $arr );
$arr1 = ReplaceElements( $arr , $n );
for ( $i = 0; $i < $n ; ++ $i )
{
echo $arr1 [ $i ] . " " ;
}
?>
|
Javascript
<script>
function ReplaceElements(arr, n)
{
let prod = 1;
for (let i = 0; i < n; ++i)
{
prod *= arr[i];
}
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);
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)
Last Updated :
07 Jun, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...