Делая это немного более многословным: https://math.stackexchange.com/questions/2614458/proving-that-a-set-of-2016-natural-numbers-contain-a-non-empty-set-with-a-sum-di
Маркируйте числа a1, a2, ... an
в любом порядке. Теперь рассмотрим суммы:
b1=a1
b2=a1+a2
b3=a1+a2+a3
...
bn=a1+a2+...+an
Это либо все уникальные числа, либо один из a
s равен 0
(который делится на m
).
1) Теперь, если любой из b
делится на m
, мы закончим.
2) В противном случае:
Остатки some non-divisible number/m
могут находиться в диапазоне 1...(n-1)
. Таким образом, существует n-1
число возможных остатков m
.
Поскольку числа b1...bn
не делятся на m
, они должны иметь остатки в диапазоне 1...(n-1)
. Таким образом, вы должны спарить n
количество b
s (голубей) с n-1
количеством остатков (голубиных отверстий).
У нас больше голубей, чем голубых = = должно быть не менее двух голубей в то же самое отверстие.
Это означает: должно быть по крайней мере два b
с одним и тем же остатком: назовите их bi, bj (i<j)
. Поскольку все наши b
уникальны и bi % m == bj % m
(остатки bi/m
и bj/m
одинаковы) => bi - bj = x * m
(где x
- положительное целое число). Следовательно, bi - bj
делится на m
и bi - bj = ai+1 + ... + aj
. Следовательно, ai+1 + ... + aj
делится на m
, и это именно то, что мы хотели доказать.