作业帮 > 综合 > 作业

求解:给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i].

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 20:56:13
求解:给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i]. 下面是完整题目
给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i].在构造过程:
不允许使用除法;
要求O(1)空间复杂度和O(n)时间复杂度;
除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、对空间和全局静态变量等);
请用程序实现并简单描述.
int main(){
\x09const int n = 8;
\x09int a[n] = {1,2,3,4,5,6,7,8};
\x09int b[n];
\x09b[n-1] = 1;
\x09for (int i=n-2;i>=0;i--)
\x09\x09b[i] = b[i+1]*a[i+1];
\x09
\x09int c = 1;
\x09for(int i=1;i