给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。

时间:2023-03-08 22:16:45

// test14.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"
#include<iostream>
#include<string>
#include<cctype>
#include <vector>
#include<exception>
#include <initializer_list>
using namespace std; class Solution {
public:
vector<int> multiply(const vector<int>& A) { vector<int> B;
int mult=1; for (size_t i = 0; i < A.size(); i++)
{
for (size_t j = 0; j < A.size(); j++)
{
if (i != j)
mult *= A[j];
}
B.push_back(mult);
mult = 1;
}
return B;
}
}; int main()
{ Solution so;
// vector<int> A = { 1,2,3,4,5,6,7,8,9,10 };
vector<int> A = { 0,1,1,1,1,1,1,1,1,1 };
auto B= so.multiply(A);
for (size_t i = 0; i < A.size(); i++)
cout << B[i] << " ";
cout << endl;
return 0;
}