コマネチ大学数学科第6講
また見逃した。
おれの解答
逆に考えるんだ、「最後の1枚、直前は2枚、その前は4枚……」と考えるんだ。 手元に2の累乗枚があった場合は、その1番上の1枚目が最後まで残るんだ。 最初のスタートは200枚だから、そこから減らしていって2の累乗になるのは、72枚を捨てて128枚になったときなんだ。 72枚目に捨てるカードは144番のカードなんだ。 だから145番のカードが最後まで残るんだ。
mixiで見つけた解答
また、今回の問題に関しては、補数を与えて引き算するという方法もありますが、 実は1ビット巡回シフトさせるだけで求めることができます。 200(dec)=11001000(bin) 1ビット左に巡回シフト:10010001(bin) 10010001=128+16+1=145 偶然ではなく、1枚おきに捨てていく方法ならこれで出ます。