過去ログ

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

過去問題一覧へ戻る