2015-10-03 3 views
0

Предположим, у меня есть список чисел - A1, A2, A3, A4, A5, ...., An.Как вычислить сумму всех комбинаций заданного списка чисел?

Как вычислить - (A1*A2)+(A1*A3)+(A1*A4)+(A1*A5)+(A1*A6)+....?

Ex-For 1,2,3, мне нужно рассчитать 1*2+2*3+1*3=11.

обобщать Также ваше решение для комбинаций, содержащих более 2 термины Ex для трех сайта- (A1*A2*A3)+(A1*A3*A4)+(A1*A4*A5)+(A2*A3*A4)+....

+0

Вы забыли упомянуть, какой язык программирования вы будете использовать. –

ответ

0
import itertools 
def sumOfCombinations(l,s): 
    return sum(prod(seq) for seq in (itertools.combinations(l, s))) 

def prod(l): 
    product = 1 
    for x in l: 
     product*=x 
    return product 

#exemple 
myList = [1,2,3] 
size = 2 
print(sumOfCombinations(myList,size)) 

это будет на самом деле сделать работу в питона. Вероятно, есть еще несколько питонических способов сделать это. Но результаты есть.

Смежные вопросы