数の篩い                                  戻る

 次のように、1から100までの自然数が、横一列に並んでいる。

   1、2、3、4、5、6、・・・・・・、95、96、97、98、99、100

いま、次のルールで、数を消していく。
 (1) まず、2から消し始める。次に、一つおきに、数を消していく。
 (2) 端についたら、今度は折り返して、逆向きに残っている数に対して、(1)と同様のこと
   を繰り返す。すなわち、残っている端の数の左隣の数から消し始め、次に、一つおきに、
   数を消していく。
 (3) 端についたら折り返して、以下、同様に、操作を繰り返す。

 上記のルールによれば、残っている数は次のように変化する。

   1、2、3、4、5、6、・・・・・・、95、96、97、98、99、100
   1、  3、  5、  ・・・・・・、95、   97、   99
       3、      ・・・・・・、95、         99
             ・・・・・・・・・・・・・・・・・・・・・・・・

 さて、最後に残る数は何であろうか?

















(答) 1、2、3、4、・・・、n において、0、1、2、3、・・・、n−1 として、いくつか実験してみよう。
   n=4 のとき、 0、1、2、3
             0、  2
                 2
   以上から、数 2 すなわち、数 3 が残る。

   n=5 のとき、 0、1、2、3、4
             0、  2、  4
             0、      4
             0
   以上から、数 0 すなわち、数 1 が残る。

   n=7 のとき、 0、1、2、3、4、5、6、7
             0、  2、  4、  6
                 2、      6
                 2
   以上から、数 2 すなわち、数 3 が残る。

  これらの、実験結果に共通性はないだろうか?

   n=4 のとき、n−1=3 を、4進数で表せば、3 である。
            残った数 2 を、4進数で表せば、2 である。
   n=5 のとき、n−1=4 を、4進数で表せば、10 である。
            残った数 0 を、4進数で表せば、0 である。
   n=7 のとき、n−1=6 を、4進数で表せば、12 である。
            残った数 2 を、4進数で表せば、2 である。

  以上の規則性から、n−1 を4進数で表した場合、残る数は、その4進数の各位の数を
次の変換公式で置き換えたものに、1を加えて得られる。

      0または1→0  2または3→2

 この法則から、冒頭の問題の答えは、100−1=99 を4進数で表すと、1203 なので、
残る数の4進数は、202 となる。したがって、求める数は、
    (2×42+2)+1=35
となる。

 冒頭の実験の続きを実行してみよう。

3、7、11、15、19、23、27、31、35、39、43、47、51、55、59、63、67、71、75、79、83、87、91、95、99
3、  11、   19、   27、   35、   43、   51、   59、   67、   75、   83、   91、   99
3、        19、         35、         51、         67、         83、         99
3、                    35、                     67、                     99
                      35、                                             99
                      35

 以上から、確かに残る数は、35であることが分かる。

 上で述べた公式を用いれば、次のような問題は即答できるだろう。
(国家公務員T種試験対策として活用できると思う。)

問題 冒頭のルールに従って、1から2004までの自然数を篩いにかける。最後に残る数は
   何であろうか?

(解) 2004−1=2003 を4進数で表せば、133103 なので、残る数の4進数は、22002
    となる。したがって、求める数は、
     (2×44+2×43+2)+1=643
    となる。

(参考文献:数学オリンピック財団編 数学オリンピック(1997〜2002) (日本評論社))