抱歉删除了原问题,以下是内容:
我们有一个包或者 n 个整数组成的数组,需要找到 (n-1) 个子集的乘积。例如:
S = {1, 0, 3, 6} ps[1] = 0*3*6 = 0; ps[2] = 1*3*6 = 18; 等等。
在讨论后,我们需要处理以下三种情况,并如下所示:
感谢您的选择。
S = {1, 0, 3, 6} ps[1] = 0*3*6 = 0; ps[2] = 1*3*6 = 18; 等等。
在讨论后,我们需要处理以下三种情况,并如下所示:
1. S is a set (contains one zero element)
for i=1 to n
if s[i]=0
sp[i] = s[1] * s[2] * ...* s[i-1] * s[i+1] *.....*s[n]
else
sp[i] = 0;
2. S is a bag (contains more than one zero element)
for i=1 to n
sp[i] = 0;
3. S is a set (contains no zero elements)
product = 1
for i=1 to n
product *= s[i];
for i=1 to n
sp[i] = product / s[i];
感谢您的选择。