试求最小的正整数 $n$,使得对于满足条件 $\displaystyle \sum\limits_{i=1}^na_i=200$ 的任一具有 $n$ 项的正整数数列 $a_1,a_2,\cdots,a_n$,其中必有连续的若干项之和等于 $30$.
【难度】
【出处】
2007中国东南数学奥林匹克试题
【标注】
  • 知识点
    >
    二试组合部分
【答案】
【解析】
首先,我们可以构造一个具有 $1017$ 项的整数数列 $a_1,a_2,\cdots,a_{1017}$,使其中不存在和为 $30$ 的连续项;为此,取 $a_1=a_2=\cdots=a_{29}=1,a_{30}=31$,以及 $a_{30m+i}=a_i,i\in\{1,2,\cdots,30\},m\in\mathbf{N}$,即 $\{a_k\}$ 为:$1,1,\cdots,1,31,|1,1,\cdots,1,31,|\cdots|1,1,\cdots,1,31,|1,1,\cdots,1$(共有 $34$ 段,前 $33$ 段中每段各有 $30$ 个项,最后一段有 $27$ 个项,共计 $1017$ 个项),其次,当项数少于 $1017$ 时,只须将某些段中连续的若干个数合并成较大的数即可.
对于满足条件 $\sum_{i=1}^{1018}a_i=2007$ 的任一具有 $1018$ 项的正整数数列 $a_1,a_2,\cdots,a_{1018}$,我们来证明,其中必有连续的若干项之和等于 $30$.为此,记 $\displaystyle S_k=\sum\limits_{i=1}^ka_i,k=1,2,\cdots,1018$,则 $1\leqslant S_1<S_2<\cdots<S_{1018}=2007$.
今考虑集 $\{1,2,\cdots,2007\}$ 中元素的分组:
$(1,31),(2,32),\cdots,(30,60)$;
$(61,91),(62,92),\cdots,(90,120)$;
$(121,151),(122,152),\cdots,(150,180)$;
$\cdots\cdots\quad\cdots\cdots\cdots\cdots\quad\cdots\cdots\cdots\cdots\quad\cdots\cdots\cdots\cdots\quad\cdots\cdots$
$(60k+1,60k+31),(60k+2,60k+32),\cdots,(60k+30,60(k+1))$;
$\cdots\cdots\quad\cdots\cdots\cdots\cdots\quad\cdots\cdots\cdots\cdots\quad\cdots\cdots\cdots\cdots\quad\cdots\cdots$
$(60\cdot 32+1,60\cdot 32+31),(60\cdot 32+2,60\cdot 32+32),\cdots,(60\cdots 32+30,60\cdots 33)$;
$1981,1982,\cdots,2007$.
其中有 $33\times 30=990$ 个括号以及 $27$ 个未加括号的数,从中任取 $1018$ 个数作为 $S_k$ 的取值,必有两数取自同一括号,设为 $(S_k,S_{k+m})$,则 $S_{k+m}-S_k=30$,即该数列中 $a_{k+1}+a_{k+2}+\cdots+a_{k+m}=30$.
因此 $n$ 的最小值为 $1018$.
答案 解析 备注
0.115461s