第7回 算数問題 (6月4日〜7月5日

1番から2002番までの番号の書いたボールを円形に並べます。1番から1つおきにボールをどんどんとっていったときに
最後に残るボールの番号はいくらでしょうか。 例 1→3→5...→2001→2→4...のようにとっていきます。

C-Dさんのすばらしい解答(私が理解できるように変形しました)

 2002個からボールをとっていって1024個になったとします。そのときにこのボールに番号を付け直して1から1024にすると
偶数の番号を除くことになります。残りのボールに番号を付け直して1〜512にすると偶数のボールを除くことになります。
残りのボールに番号をつけて...と繰り返すと1024個になったときの1番のボールが最後に余ることになります。
つまり2002-1024=978個とった次のボールになります。978個目は 2×978-1=1955ですから1956が最後に残るボールです。

一般的には、2^n<=M<2^(n+1)として M個のボールがあったとき M-2^n個のボールを除いた次の番号でその番号は、
2M-2^(n+1)になるわけですね。

私の変な解答

解答
 数字を2進法であらわします。2002は11111010010となります。

1周目は 1の位1を消すことになります。      残り       
           消す                1       
         1 残る               10       
         1 消す               11       
        10 残る              100       
        10 消す              101       
        11 残る              110       
        11 消す              111       
      ......               ......
1111101001 残る       1111101001       

2回目は残りから10の位が1のものを消します。
                                 残り       
         110 消す                100          
         100 残る               1000          
         110 消す               1100          
        100 残る              10000          
        100 消す              10100          
        110 残る              11000          
        110 消す              11100          
      ......               ......
 11111010010 消す        11111010000          

3回目は残りから100の位が0のものを消します。
                                 残り       
          100 残る                 100          
         1000 消す                1100          
         1100 残る               10100          
        10000 消す               11100          
        10100 残る              100100          
        11000 消す              101100          
        11100 残る              110100          
      ......               ......
  11111010000 消す         11111001100          

4回目は残りから1000の位が1のものを消します。
                                 残り       
          100 残る                 100          
         1100 消す               10100          
        10100 残る              100100          
        11100 消す              110100          
       100100 残る             100100          
       101100 消す             1010100          
       110100 残る             1100100          
      ......               ......
  11111001100 消す         11111000100          

5回目は残りから10000の位が1のものを消します。
                                 残り       
          100 残る                 100          
        0100 消す              100100          
       100100 残る             1000100          
       110100 消す             1100100          
      1000100 残る            10000100          
      1010100 消す            10100100          
      1110100 残る            11000100          
      ......               ......
  11111000100 残る         11111000100          

6回目は残りから100000の位が0のものを消します。  
                                 残り       
            100 消す              100100          
        100100 残る             1100100          
       1000100 消す            1010010          
       1100100 残る            11100100          
      10000100 消す           100100100          
      10100100 残る           101100100          
      11000100 消す           110100100          
      ......               ......
    11111000100 消す         11110100100          

7回目は残りから100000の位が1のものを消します。
                                 残り       
        100100 残る              100100          
       1100100 消す            10100100          
      10100100 残る           10010010          
      11100100 消す           110100100          
     100100100 残る          1000100100          
     101100100 消す          1010100100          
     110100100 残る          1100100100          
      ......               ......
   11110100100 残る         11110100100          

8回目は残りから1000000の位が0のものを消します。
                                 残り       
        100100 消す            10100100          
      10100100 残る           110100100          
     100100100 消す          101010010          
     110100100 残る          1110100100          
    1000100100 消す         10010100100          
    1010100100 残る         10110100100          
    1100100100 消す         11010100100          
      ......               11110100100   
   11110100100 残る                   

9回目以降は消える順番に番号をつけました

      10100100    1
     110100100      5
    101010010    2
    1110100100         7
   10010100100    3
   10110100100      6
   11010100100    4
   11110100100    

以上から
 11110100100 が残り 10進数では 1956となります。

ふじさきたつみ さんの解答

まず、奇数が消えて偶数がのこります。     2,4,6,8,10、・・・・・・・・、2000,2002
これを2でわると                   1,2,3,4,5、・・・・・・・・・、1000、1001                      1956 
次に奇数がきえて偶数が残ります          2,4,6,8、・・・・・・、998,1000、
これを2でわると                     1,2,3,4、・・・・・・、499,500                           978   
次に偶数が消えて奇数が残ります。         1,3,5,7、・・・・・・、497,499
これを1たしてから2で割ると              1,2,3,4、・・・・・・、249,500                           489
次に偶数が消えて奇数が残ります。         1,3,5,7、・・・・・・、247,249
これを1たしてから2で割ると              1,2,3,4、・・・・・、124,125                            245                         
次に偶数が消えて奇数が残ります          1,3,5,7、、・・・・、123,125
これを1たしてから2で割ると              1,2,3,4、・・・・・・、62,63                             123                     
次に奇数がきえて偶数が残ります           2,4,6,8、・・・・・・、6062
これを2で割ると                     1,2,3,4、・・・・・、30,31                               62 
次に偶数が消えて奇数が残ります          1,3,5,7、・・・・、29,31
これを1たしてから2で割ると              1,2,3,4、・・・・・、15,16                               31
次に奇数がきえて偶数が残ります          2,4,6,8、・・・・・、14,16                              
これを2で割ると                     1,2,3,4、・・・・、7,8                                  16
次に奇数がきえて偶数が残ります          2,4,6,8、
これを2でわると                     1,2,3,4                                           8   
次に奇数がきえて偶数が残ります          2,4
これを2でわると                     1,2                                               4  
次に奇数がきえて偶数が残ります          2       残ったのは2ですが、本当はいくつなのでしょうか 上にもどって調べます。
                                       というわけで、1956 がこたえです。