|
doba |
|
#30181
えっと、ちょっと落ち着きましょう(^^; 確かにa(2)=5ですが、今回の問題の答えとしては2回のとき最大4枚です。 同様に、a(3)=14ですが、今回の問題の答えとしては3回のとき最大13枚です。 直感的(?)に考えても、4*3^(n-2)+1なんて出てきませんよ。 #30168で述べているのは、枚数とは別に正しい重さの硬貨が1枚ある場合の、 n回での最大値をa(n)と定義して、a(n)についての漸化式からa(n)=(3^n+1)/2を 求めた上で、今回の問題の答えとしてはa(n)より1少ない (3^n-1)/2となる、ということです。 ついでに、1枚の偽物を特定する手順を一般化しておきます。 意味さえわかれば、何もややこしいことはないですよ。 最初に正しい重さの硬貨が別に1枚ある場合であれば、 例外的なケースがなくなるので、もっとシンプルに書けますが、 ここでは、オリジナルの問題の条件で書いています。 場合分けがいっぱいあるように見えますが、 HとLの枚数の組合せの細かい違いについて場合分けしているだけで、 本質的には、Xがある場合と、HやLがある場合という大きく2通りの 場合について、やるべきことを理解すればいいだけです。 なお、これは手順の1例にすぎず、天秤に乗せるHとLの枚数は、 合計枚数と、左右の組成が同じであることを守れば、どうでも構わないのですが、 ここではなるべく規則的な手順となるように書いています。 実際の作業としては、N,H,L,Xの分類毎の袋か箱を用意して、 ステップ毎の硬貨の分類の変遷をきちんと管理する必要があるでしょうね。 特に、天秤に載せる時に混ざらないようにしないと(^^; (なんせ、3万枚近くありますから...。) @@@@@@@@@@@@@@@@@@@@ (3^n-1)/2枚から偽物をn回で見つける手順 最初X:(3^n-1)/2枚 【1回目】 [X:(3^(n-1)-1)/2枚]vs[X:(3^(n-1)-1)/2枚] =のとき:乗せてないX:(3^(n-1)+1)/2枚が残り、他は全てN >のとき:左のX:(3^(n-1)-1)/2枚→H、右のX:(3^(n-1)-1)/2枚→L、残りは全てN <のとき:左のX:(3^(n-1)-1)/2枚→L、右のX:(3^(n-1)-1)/2枚→H、残りは全てN 【k回目(2≦k≦n)】 ・Xが(3^(n+1-k)+1)/2枚、残りが全部Nの場合 (k-1回目まで毎回「=」の場合) [X:(3^(n-k)+1)/2枚]vs[X:(3^(n-k)-1)/2枚,N1枚] =のとき:乗せてないX:(3^(n-k)+1)/2枚が残り、他は全てN >のとき:左のX:(3^(n-k)+1)/2枚→H、右のX:(3^(n-k)-1)/2枚→L、残りは全てN <のとき:左のX:(3^(n-k)+1)/2枚→L、右のX:(3^(n-k)-1)/2枚→H、残りは全てN ・Hが(3^(n+1-k)+1)/2枚、Lが(3^(n+1-k)-1)/2枚、残りが全部Nの場合 [H:(3^(n-k)+1)/2枚,L:(3^(n-k)-1)/2枚]vs[H:(3^(n-k)+1)/2枚,L:(3^(n-k)-1)/2枚] =のとき:乗せてないH:(3^(n-k)-1)/2枚とL:(3^(n-k)+1)/2枚が残り、他は全てN >のとき:左のH:(3^(n-k)+1)/2枚と右のL:(3^(n-k)-1)/2枚が残り、他は全てN <のとき:右のH:(3^(n-k)+1)/2枚と左のL:(3^(n-k)-1)/2枚が残り、他は全てN ・Hが(3^(n+1-k)-1)/2枚、Lが(3^(n+1-k)+1)/2枚、残りが全部Nの場合 [H:(3^(n-k)-1)/2枚,L:(3^(n-k)+1)/2枚]vs[H:(3^(n-k)-1)/2枚,L:(3^(n-k)+1)/2枚] =のとき:乗せてないH:(3^(n-k)+1)/2枚とL:(3^(n-k)-1)/2枚が残り、他は全てN >のとき:左のH:(3^(n-k)-1)/2枚と右のL:(3^(n-k)+1)/2枚が残り、他は全てN <のとき:右のH:(3^(n-k)-1)/2枚と左のL:(3^(n-k)+1)/2枚が残り、他は全てN ・HとLがともに(3^(n+1-k)-1)/2枚、残りが全部Nの場合 (kが偶数で、1回目が「>」か「<」で、2回目以降ずっと「=」の場合) [H:(3^(n-k)+1)/2枚,L:(3^(n-k)-1)/2枚]vs[H:(3^(n-k)+1)/2枚,L:(3^(n-k)-1)/2枚] =のとき:乗せてないH:(3^(n-k)-3)/2枚とL:(3^(n-k)+1)/2枚が残り、他は全てN >のとき:左のH:(3^(n-k)+1)/2枚と右のL:(3^(n-k)-1)/2枚が残り、他は全てN <のとき:右のH:(3^(n-k)+1)/2枚と左のL:(3^(n-k)-1)/2枚が残り、他は全てN ・Hが(3^(n+1-k)-3)/2枚、Lが(3^(n+1-k)+1)/2枚、残りが全部Nの場合 (kが奇数で、1回目が「>」か「<」で、2回目以降ずっと「=」の場合) [H:(3^(n-k)-1)/2枚,L:(3^(n-k)+1)/2枚]vs[H:(3^(n-k)-1)/2枚,L:(3^(n-k)+1)/2枚] =のとき:乗せてないH:(3^(n-k)-1)/2枚とL:(3^(n-k)-1)/2枚が残り、他は全てN >のとき:左のH:(3^(n-k)-1)/2枚と右のL:(3^(n-k)+1)/2枚が残り、他は全てN <のとき:右のH:(3^(n-k)-1)/2枚と左のL:(3^(n-k)+1)/2枚が残り、他は全てN |
|
7月4日(水) 1:12:17
30182 |