给定一个整数数组A。
定义B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], 计算B的时候请不要使用除法。
样例
定义B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], 计算B的时候请不要使用除法。
样例
给出A=[1, 2, 3],返回 B为[6, 3, 2]
import java.util.ArrayList;
import java.util.Scanner;
/**
* 给定一个整数数组A。
定义B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], 计算B的时候请不要使用除法。
样例
给出A=[1, 2, 3],返回 B为[6, 3, 2]
*
* @author Dell
*
*/
public class Test50 {
public static ArrayList<Long> productExcludeItself(ArrayList<Long> A)
{ if(A.size()==0)
return null;
ArrayList<Long> B=new ArrayList<>();
for(int i=0;i<A.size();i++)
{
long result=1;
for(int j=0;j<A.size();j++)
{
if(i!=j)
{
result=result*A.get(j);
}
}
B.add(result);
}
return B;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
ArrayList<Long> A=new ArrayList<>();
ArrayList<Long> B;
for(int i=0;i<n;i++)
{
A.add(sc.nextLong());
}
B=productExcludeItself(A);
System.out.println(B);
}
}