组合数学 第三次作业

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}\) 个集合,使得它们两两有公共元素。

posted @ 2021-03-26 00:52  葡萄味柠檬茶  阅读(79)  评论(0编辑  收藏  举报