Прошу прощения за удаление исходного вопроса, вот он: У нас есть сумка или массив из n целых чисел, нам нужно найти произведение каждого из (n-1) подмножеств. например:
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];
Спасибо.