2019-11-05

N個の整数列には、和がNで割り切れる部分列が必ず存在する

整数a1...aNとし、a1からaLまでの部分列の和をsLとする(L=1...N)。

s1...sNはN個あり、sLをNで割った余りは最大0からN-1までのN個ある。

A. Nで割った余りが0になるsL存在していれば、a1...aLがその和がNで割り切れる部分列である

B. どのsLもNで割った余りが0にならなければ、取りうる余りは1...N-1の最大N-1個である

取りうる余りは多くてもN-1個のため、N個のs1...sNのうち少なくとも2つは、Nで割ると同じ余りになるもの存在する(鳩の巣原理)。

この同じ余りになるsLで、先をsA、後をsBとすると、sB-sAは、Nで割ると余りが0になる。

よって、aA+1...aBがその和がNで割り切れる部分列となる。

  • {k^2, (k+1)^2, ..., (k+N)^2} のうちには 必ず N で割れる数が存在する

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん