问题来自【官方双语】奥数级别的数数问题_哔哩哔哩_bilibili
求1~2000这些数字中,取若干个数字构成一个子集。
问:所有子集中,元素的和为5的倍数的集合有多少个?
一开始的想法是,先数从1~n的元素构成的集合。
比如,从{1,2}中选取子集,那么子集的元素的和有1,2,3;
然后,加上3这个数字,那么新增的集合有:
。
类似的,加上4这个数字,那么新增的集合有:
后来发现,可以用一个母函数表示这种关系:
其中,指数代表着新增的集合中数字的和,而x^n的系数则代表和为n的集合有多少种。
每多一个乘积项,就代表引入一个新的数字。
设,
则等于就是要求出:
为此,引入一个复数,可以看到是沿着复平面原点延伸出去的5个向量,将一整个圆周五等份。
则
由于 1,2,3,4和5是互质的。因此 不过是将进行了一下置换。
例如,。
所以可以写出下列式子:
注意到
所以
下面求,
由于后面几项是共轭的,所以,同理
故: