|
doba |
|
えっと、問題の条件が
・1枚だけ重さが異なる(偽物)。但し、その1枚が他より重いか軽いかわからない ・その1枚を特定できさえすればよい。すなわち、その1枚が他より重いか軽いかは 最終的にわからなくてもよい ということなのであれば、どうもみなさんの答えは違うようなのですが...。 私の得た答えは、天秤をn回使って1枚の偽物を特定できる最大の枚数は (3^n - 1)/2 というものです。 nに10を代入すると、29524枚となります。 考え方: 天秤操作を繰り返している途中において、硬貨は次のように分類されます。 タイプN:本物であることが確定している。 タイプH:もし偽物ならば他より重いが、本物である可能性もある。 タイプL:もし偽物ならば他より軽いが、本物である可能性もある。 タイプX:偽物であった場合に、軽いか重いかは不明であり、本物である可能性もある。 最初は、全ての硬貨がXです。 天秤がつり合い続けている間は、HやLは存在せず、1回でも天秤にかけたものがN、 1回もかけていないものがXとなります。 1回でも天秤がつりあわないことがあれば、その時に天秤に乗っていたもののうち Nでないものが全てHまたはLとなり、他は全てNとなります。 つまり、HやLと、Xは共存しません。 まず、HとLだけ合わせてx枚あるとき、 n回の比較で特定できるようなxの最大値は、3^nです。 実際に、HとLが合わせて3^nあった場合を考えると、 そこから、Hを偶数枚、Lを偶数枚、合わせて2×3^(n-1)枚選ぶことができます。 それらを、天秤の左右に均等に乗せると、どちらに傾いてもあるいはつり合っても、 1回の比較の結果HとLが合わせて3^(n-1)残ります。 次に、Xがx枚と、Nが1枚あるとき、 n回の比較で特定できるようなxの最大値をa(n)とおきます。 Xが存在する状態で1回の比較を行うと、 つり合えば天秤に乗せなかったXが残り、 つり合わなければ天秤に乗せたXがHとLに変化するので、 次のような漸化式が成り立ちます。 a(n)=a(n-1)+3^(n-1) ここで、Nが1枚必要なのは、3^(n-1)枚のXを天秤に乗せる際に、 左右のバランスをとるためです。 また、明らかに、a(1)=2が言え、この漸化式を解くと、 a(n)=(3^n+1)/2 となります。 よって、最初に本物の硬貨が別に1個存在していたならば、 n回で特定できる最大値は(3^n+1)/2となります。 実際には1回目にはNは存在しないので、天秤に3^(n-1)枚乗せることはできず、 天秤に乗せるのが3^(n-1)-1枚で、乗せないのが(3^(n-1)+1)/2枚、 合計(3^n-1)/2枚が最大となります。 |
|
7月3日(火) 8:05:42
30168 |