关于集合的两个问题——求集合的所有子集的之和与求集合中所有子集的乘积之和

给定一个数字集合 S = S= S={ a 1 , a 2 , a 3 , a 4 , . . . , a n a_{1},a_{2},a_{3},a_{4},...,a_{n} a1,a2,a3,a4,...,an};

定义“集合的和”为:集合中所有元素累加的结果。
定义“集合的乘积”为:集合中所有元素累乘的结果。

问题一、求集合的所有子集的“集合的和”之和

n个元素的非空子集 2 n − 1 2 ^ {n}-1 2n1个,

集合中每个元素在出现在数目一定的一个子集的概率都是相同的。

换言之,对于所有元素,它在这 2 n − 1 2^n-1 2n1个集合中出现次数(设为 n u m num num)是相同的。

举个例子。元素个数为一的子集共有n个,每个元素出现一次,每个元素出现的概率是1/n。

元素个数为2的子集共有 C ( n , 2 ) = n ∗ ( n − 1 ) / 2 C(n,2)=n *(n-1)/2 C(n,2)=nn1/2,元素个数共有 2 ∗ C ( n , 2 ) = n ∗ ( n − 1 ) 2*C(n,2)=n *(n-1) 2C(n,2)=nn1,每个元素出现的概率相同,所以每个元素应该出现了 2 ∗ C ( n , 2 ) / n = n − 1 2*C(n,2) /n=n-1 2C(n,2)/n=n1次,且分布在不同集合中。
所以结论就是

n u m = ∑ i = 1 i = n i × C ( n , i ) / n num=\sum_{i=1}^{i=n} i×C(n,i)/n num=i=1i=ni×Cn,i/n = ∑ i = 0 i = n − 1 C ( n , i ) = 2 n − 1 \sum _{i=0}^{i=n-1} C(n,i)=2^{n-1} i=0i=n1Cn,i=2n1

一个更简单的证明方法, n u m = ( 2 n − 1 ) − ( 2 n − 1 − 1 ) num=(2^n-1)-(2^{n-1}-1) num=(2n1)(2n11)----把这个元素拿出来,用其他元素可以构成 2 n − 1 − 1 2^{n-1}-1 2n11个集合,然后用总的集合数减去未包含该元素的集合数,即可得到该元素在所有子集的出现次数。

所以问题一的答案即为: s u m S ∗ 2 n − 1 = ( a 1 + a 2 + a 3 + . . . + a n ) ∗ 2 n − 1 sumS*2^{n-1}=(a_{1}+a_{2}+a_{3}+...+a_{n})*2^{n-1} sumS2n1=(a1+a2+a3+...+an)2n1

问题二、求集合中所有子集的“集合的乘积”之和

定义“集合的乘积”为集合中所有元素的乘积,那么如何求一个集合的所有子集的乘积之和呢?
先来看一个有趣的展开式
( x + 1 ) ∗ ( y + 1 ) = x y + x + y + 1 (x+1)*(y+1)=xy+x+y+1 x+1y+1=xy+x+y+1
接着来尝试一下
( x + 1 ) ∗ ( y + 1 ) ∗ ( z + 1 ) = ( x y + x + y + 1 ) ∗ ( z + 1 ) = x y z + x y + x z + x + y z + y + z + 1 (x+1)*(y+1)*(z+1)=(xy+x+y+1)*(z+1)=xyz+xy+xz+x+yz+y+z+1 x+1y+1z+1=xy+x+y+1z+1=xyz+xy+xz+x+yz+y+z+1
整理一下,不难发现规律,

所以问题二的答案即为: ( a 1 + 1 ) ∗ ( a 2 + 1 ) ∗ . . . ∗ ( a n + 1 ) − 1 (a_{1}+1)*(a_{2}+1) * ...* (a_{n}+1)-1 (a1+1)(a2+1)...(an+1)1

那么具体怎样推到而来的呢?
对于一个集合个数为n的集合{ a 1 , a 2 , a 3 . . . , a n a_{1},a_{2},a_{3}...,a_{n} a1,a2,a3...,an},现在往里面加一个元素 a n + 1 a_ {n+1} an+1,我们考虑会增加什么子集。
其实就是 a n + 1 a_ {n+1} an+1加入到原来的集合的所有子集(包括空集)所构成的集合。由于是乘积之和,显然我们可以提公因子,即 a n + 1 a_{n+1} an+1
例如对于集合{a,b,c},它的子集有{ a , b , c a,b,c a,b,c},{ a , b a,b a,b},{ a , c a,c a,c},{ b , c b,c b,c},{ a a a},{ b b b},{ c c c},{ },其子集的乘积之和
S 1 = a b c + a b + a c + b c + a + b + c S_{1}=abc+ab+ac+bc+a+b+c S1=abc+ab+ac+bc+a+b+c

如果往集合{a,b,c}中加入一个元素d,那么会增加的子集有{ a , b , c , d a,b,c,d a,b,c,d},{ a , b , d a,b,d a,b,d},{ a , c , d a,c,d a,c,d},{ b , c , d b,c,d b,c,d},{ a , d a,d a,d},{ b , d b,d b,d},{ c , d c,d c,d},{ d d d},这些子集的乘积之和
S 2 = a b c d + a b d + a c d + b c d + a d + b d + c d + d = d ( a b c + a b + a c + b c + a + b + c ) + d = d ( S 1 + 1 ) S_{2}=abcd+abd+acd+bcd+ad+bd+cd+d=d(abc+ab+ac+bc+a+b+c)+d=d(S1+1) S2=abcd+abd+acd+bcd+ad+bd+cd+d=d(abc+ab+ac+bc+a+b+c)+d=d(S1+1)

所以集合{ a , b , c , d a,b,c,d a,b,c,d}的所有子集的乘积之和 S 3 = S 1 + S 2 = S 1 + d ( S 1 + 1 ) = ( S 1 + 1 ) ( d + 1 ) − 1 S3=S1+S2=S1+d(S1+1)=(S1+1)(d+1)-1 S3=S1+S2=S1+d(S1+1)=(S1+1)(d+1)1

类推可得,集合{ a , b , c , d , e a,b,c,d,e a,b,c,d,e}的所有子集的乘积之和
S 4 = ( S 3 + 1 ) ( e + 1 ) − 1 = ( S 1 + 1 ) ( d + 1 ) ( e + 1 ) − 1 S_{4}=(S_{3}+1)(e+1)-1=(S1+1)(d+1)(e+1)-1 S4=(S3+1)(e+1)1=(S1+1)(d+1)(e+1)1

其实 S 1 + 1 = ( a + 1 ) ( b + 1 ) ( c + 1 ) S_{1}+1=(a+1)(b+1)(c+1) S1+1=(a+1)(b+1)(c+1),所以 S 4 = ( a + 1 ) ( b + 1 ) ( c + 1 ) ( d + 1 ) ( e + 1 ) − 1 S_{4}=(a+1)(b+1)(c+1)(d+1)(e+1)-1 S4=(a+1)(b+1)(c+1)(d+1)(e+1)1。归纳可得上诉结论。

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值