院版每日一题(2) 数组乘积问题

 给定一个数组A,它有n个元素。现在需要构造一个也有n个元素的数组B,数组B中的元素定义如下:
第i(i=0,1,2,...,n-1)个位置的元素是A中除位置i之外的其他n-1个数的乘积。

   要求:1、不能用除法;
         2、只能用额外的变量用作于迭代器。

 

1     B[1]=A[0];
2     for(int i=2;i<n;i++)
3         B[i]=B[i-1]*A[i-1];
4     B[0]=A[n-1];
5     for(int i=n-2;i>0;i--){
6         B[i]*=B[0];
7         B[0]*=A[i];
8     }

 

 

posted on 2012-05-22 12:52  bingwenst  阅读(134)  评论(0编辑  收藏  举报

导航