「ニーベルンゲンの歌「ジークフリード」
書籍やゲームでも有名な英雄譚ですが、バルムンクと言う剣を手にしたジークフリードと言う青年がファフニールと言うドラゴンを退治しています。宝を守っていたこのドラゴン、その返り血(竜血)を浴びたジーくフリードは不死の体を手に入れますが、背中に一枚木の葉(菩提樹)がくっついておりそこだけ弱点になってしまいます。ドラゴン、剣、宝と三拍子そろった英雄譚です。」・・・https://ja.wikipedia.org/wiki/ジークフリート へGo〜 ^^
問題15402・・・ https://twitter.com/mathlion_jp より 引用 Orz〜
解答
・わたしの...
1024<2018<2048 なので...
2048なら...
1024*2
512*4
256*8
128*16
64*32
32*64
16*128
8*256
4*512
2*1024
1*2048
so...11回
1024なら10回
so...11回かなぁ...^^;
・鍵コメT様からのもの Orz〜
11回でよいです. 要するに,「1〜2018を2進法で表し, 2^kの位が1である数nに対してA_nのドラゴンの首を2^k個切り落とす」 ことをk=0,1,2,…,10に対して実行すればよいですね.
*この発想がわかりやすかったですね ^^♪
別の手法として,各時点で,首の最大数をxとして, 「[(x+1)/2]本の首を,それ以上の首を持つ全ドラゴンから切り落とす」 操作を繰り返すという方法もあります. この操作により,首の最大数は,半減(小数点以下切り捨て)となるので, 2018→1009→504→252→126→63→31→15→7→3→1→0となって, 11回で終了です.
1回の操作で,「首の数が何通りあるか」は,半減までしかしないので, 10回以内では不可能であることもわかります.
*2回目は,最大1009本の首を持つドラゴンがいるので,
[(1009+1)/2]=505(本)の首を切る魔法を発動します.
順を追って示すと,以下の通りです.
(1回目)「1〜2018」に対し,「1009本の首を切る」魔法を発動すると, 1〜1008と0〜1009,つまり,首の種類として0〜1009となります. 同様に, (2回目)「505本の首を切る」魔法の発動で,0〜504になり, (3回目)「252本の首を切る」魔法により,0〜252になり, (4回目)「126本の首を切る」魔法により,0〜126になり, (5回目)「63本の首を切る」魔法により,0〜63になり, (6回目)「32本の首を切る」魔法により,0〜31になり, (7回目)「16本の首を切る」魔法により,0〜15になり, (8回目)「8本の首を切る」魔法により,0〜7になり, (9回目)「4本の首を切る」魔法により,0〜3になり, (10回目)「2本の首を切る」魔法により,0〜1になり, (11回目)「1本の首を切る」魔法により,すべての首が切り落とせます.
*後半の方法でもうまくいくわけですのねぇ☆
|