Дано число , зачем
чисел. Нужно найти количество подмножеств, сумма элементов которых не делится на
.
from math import comb
f = open(’3.txt’)
n = int(f.readline())
ans = 0
k = [0, 0, 0]
for i in range(n):
x = int(f.readline())
k[x % 3] += 1
s2 = [0, 0, 0]
for i in range(3):
for j in range(i, k[2] + 1, 3):
s2[i] += comb(k[2], j)
s1 = [0, 0, 0]
for i in range(3):
for j in range(i, k[1] + 1, 3):
s1[i] += comb(k[1], j)
ans = s1[0] * s2[0] + s1[1] * s2[1] + s1[2] * s2[2]
ans = ans * 2 ** k[0]
mn = 0 # количество всех множеств
for i in range(n + 1): # с 0, так как существует пустое множество
mn += comb(n, i)
print(mn - ans)
Ответ: 845100400152152934147883532288