组合数学 第三次作业
1
考虑一个数 \(x\),其被 \(2n\) 除的余数是 \(i\)。
如果另一个数 \(y\) 被 \(2n\) 除的余数是 \(i\),那么 \(|x-y|\) 必能被 \(2n\) 整除。
如果另一个数 \(y\) 被 \(2n\) 除的余数是 \(2n-i\),那么 \(x+y\) 显然也必能被 \(2n\) 整除。
将被 \(2n\) 除余 \(i\) 的数和被 \(2n\) 除余 \(2n-i\) 的数归为同一类。
那么总共有 \(n\) 类。
因此 \(n+2\) 个任选的正整数必有两个落在同一类中。
也就必存在满足题设条件的两个数。
2
考虑这 \(10\) 个人的任非空子集 \(A\)。
记 \(\sum A\) 为 \(A\) 中的人的年龄和。
由于 \(1\le |A|\le 10\),显然有 \(1\le \sum A\le 600\)。
\(10\) 个人的非空子集数为 \(2^{10}-1=1023\)。
而 \(\sum A\) 的取值又只有 \(600\) 种可能性,因此必存在两个不同的非空子集 \(A, B\) 满足 \(\sum A=\sum B\)
那么显然 \(\sum (A\setminus B)=\sum (B\setminus A)\),且 \((A\setminus B)\cap (B\setminus A)=\emptyset\)。
故总能找出不重复的两组人使得他们年龄和相同。
\(2^n-2>60(n-1)\Longleftrightarrow n\geq 9\)
故可以把 \(n\) 换成 \(9\)。
由程序验证,也可以把 \(n\) 换成 \(8\)。
3
考虑 \(n\) 的分解:\(n=p\cdot 2^i\cdot 5^j\),其中 \(\gcd(p, 10)=1\)。
显然有 \(\gcd(3p, 10)=1\)。
根据欧拉定理,有 \(10^{\varphi(3p)}\equiv 1\pmod{3p}\)。
那么有 \(10^{\varphi(3p)}-1=3kp,\;k\in \mathbb{N}^\ast\)
那么有 \(\cfrac{10^{\varphi(3p)}-1}{3}\cdot 10^{\max(i, j)}=mn,\;m\in \mathbb{N}^\ast\)
而 \(\cfrac{10^{\varphi(3p)}-1}{3}\cdot 10^{\max(i, j)}=33\dots3300\dots00\)
因此存在由 \(0\) 和 \(3\) 组成的正整数能被 \(n\) 整除。
4
\(1+2+\dots+36=\cfrac{36\times 37}{2}=666=55\times 12+6\)
将 \(36\) 段依次分成 \(12\) 部分。
若每部分数字之和均少于 \(56\),那么数字总和将少于 \(660\)。
因此必存在一部分(即三个相邻段)数字之和至少是 \(56\)。
5
将 \(\{1, 2, \dots, n\}\) 的子集分组:
\(A\) 与 \(\{1, 2, \dots, n\}\setminus A\) 分为一组。
显然这样一来共有 \(2^{n-1}\) 组。
若选出一组中的两个集合,显然它们没有公共元素。
因此每组中至多有一个集合可以被选出。
因此最多选出 \(2^{n-1}\) 个集合,使得它们两两有公共元素。