元の質問を削除して申し訳ありません。ここにあります: n 個の整数のバッグまたは配列があります。(n-1) 個のサブセットのそれぞれの積を見つける必要があります。例えば:
S = {1, 0, 3, 6}
ps[1] = 0*3*6 = 0;
ps[2] = 1*3*6 = 18; 等
話し合いの後、3 つのケースに対処する必要があり、それらを以下に示します。
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];
ありがとう。