方針
は3より大きい素数なので,3で割ると1または2余る。したがって の中から が3の倍数になるものを選べる。(1)では により,この選択で も保証される。(2)は(1)から,表せない数は に限られる。そこでこの範囲で と により表せる数を, に分けて数える。
解答
(1) は3より大きい素数であるから,3で割り切れない。したがって, を3で割った余りは1または2である。よって を3で割った余りは, の3種類すべてになる。
したがって,任意の整数 に対して, のいずれかを選べば が3で割り切れる。いま であり, だから である。そこで とおけば, は0以上の整数であり, と表せる。よって(1)が示された。
(2)
(1)より, 以上の整数はすべて表せる。したがって,表せない可能性があるのは の範囲だけである。この範囲で表せる数を数える。 のとき,表せる数は3の倍数である。 のとき,表せる数は で, 未満のものに限られる。 のときは となるので, の範囲には現れない。
まず の場合を考える。 にある3の倍数は であり,個数は である。また は と同値なので, が可能であり,個数は である。両者は3で割った余りが異なるので重複しない。よって表せる数は 個である。
次に の場合を考える。 にある3の倍数は であり,個数は である。また は と同値なので, が可能であり,個数は である。したがって表せる数は 個である。
いずれの場合も, にある 個の整数のうち,表せるものは 個である。したがって表せないものの個数は である。
総評
難度5,計算量4。想定時間は16分程度。 が素数なので であり, が3種類の剰余を尽くすことが核心である。(1)では合同条件だけでなく, から まで確認する。(2)は(1)により へ限定し,この範囲では しか現れないことを使う。 の両場合で表せる数が 個になる。典型的な失点は0を数え落とすことと,剰余を合わせても非負性を確認しないことである。一般の硬貨問題の公式に頼らず証明できる点が本問の狙いである。