[脳トレ]天秤問題を解いてみよう。

今回はプログラミングのための
脳を鍛えるトレーニングとして
天秤問題をやっていきます。

解説動画はこちら
[![表示されなかったらすみません](https://img.youtube.com/vi/UgfkLnjd-u4/0.jpg)](https://youtu.be/UgfkLnjd-u4)

さて天秤問題ですが、簡単なクイズです。
2問を用意しています。

## 問題1
8個の同じサイズのボール
7つは同じ重さですが1つだけ重いものが
混じっています。

秤を2回だけ使って重いボールを見つけるには
どうすれば良いでしょう?
![天秤問題.002.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/fa0394cd-95d0-e25b-e3dd-b7d41f5dc703.jpeg)



割と簡単な問題で良くいろんな企業の試験に出ていたりします。

考えたい方はここで止まって考えてみましょう。
秤を効率よく使って最小回数で答えを見つける

コレは最適解を考える問題でもあり
出来るようになるといろんな場面で役立ちます。

### 問題1の解答

さて解答は以下のように考えます。

1回目は3,3,2でボールを分けて
3,3を乗せて測ります。

結果は
・釣り合う
・上下動
の2通りになります。
![天秤問題.003.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/5a4ff70c-7ff0-e0cd-0f92-a9e4bc33ec12.jpeg)


2回目：1回目が上下動した場合

下がった方に答えがあるので
下がった方の3つのボールのうち1,1で秤に乗せて測り

釣り合えば残ったボール
下がった場合はその下がったボールが答えになります。

![天秤問題.004.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/517e50f5-15ce-bb0c-9b3c-84e0260ffc22.jpeg)

2回目：1回目が釣り合った場合

3,3で釣り合ったら、残る2つの中に答えがあります。
残りを1,1で秤に乗せて計って下がった方が答えになります。
![天秤問題.005.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/8a6ec627-1ae2-04b8-b0db-8771d37de24c.jpeg)


まとめるとこうなります。
![天秤問題.006.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/5b5b13d2-bcf0-04ba-30d8-348acd482281.jpeg)


1問目は比較的考えるのが楽ですねーー


## 問題2
13個の同じサイズのボール
12つは同じ重さですが1つだけ
重さが違うものが混じっています。重いか軽いかは分かりません。

秤を3回だけ使って重いボールを見つけるにはどうすれば良いでしょう?

![天秤問題.007.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/b07dfaf7-7985-a906-7fc7-7d66ce128ebb.jpeg)

今度は13個にボールが増えてしかも重いか軽いかも分かりませんので
少し難しいかもしれないですね。

考えたい方はここで止めて考えてみましょう。

解説はこの下です。

### 問題2の解答
まず最初はボールをどう分けて測るかです。
4,4,5に分ける事として4,4を秤に乗せて測ります。

結果は
・釣り合う
・上下動
の2通りになります。
![天秤問題.008.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/03cc27eb-ef53-1d44-92ff-e51a800689a2.jpeg)

2回目：1回目が釣り合った場合

4,4は同じ重さなのでこの8個はセーフ
残る5個の中に答えがあります。

残る5個のうちの3つを選んで秤に乗せ
セーフの中から3つを乗せて測ります。

結果は
・釣り合う
・上下動
の2通りになります。

![天秤問題.009.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/2d3be323-a081-5ff0-2502-4d3f534cf51b.jpeg)

3回目:1回目に釣り合い、2回目も釣り合った場合

残る2つの中に答えがあるので
そのうちの1つを秤に乗せセーフの中から1つを乗せて測ります。

釣り合った場合は残った一つ
上下動した場合は、セーフでない物が答えになります。

![天秤問題.010.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/8493edab-ce8f-1811-721f-3b7eb7221011.jpeg)

3回目：1回目に釣り合い、2回目上下動した場合

選んだ3つの中に答えがあります。
その3つのうち1,1を選んで秤に乗せ測ります。

釣り合った場合は残った一つが答え。
上下動した場合は2回目の結果と合わせて考えます。

2回目にその3つが上がった場合は
軽い物が混じっているので3回目に上がった方が答えです。

2回目にその3つが下がった場合は
重い物が混じっているので3回目に下がった方が答えです。

![天秤問題.011.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/dd41f749-20e0-c521-04fe-e9a3c6f3aa5b.jpeg)

2回目：1回目に釣り合わなかった場合

4,4で釣り合わなかった場合は
その8つの中に答えがあり測らなかった5つはセーフです。

この8個を2群に分ける事にして測っていきます。

便宜上1回目に測った物をABCD - EFGH として
ABE - CDF を秤に乗せて測りGHを残します。

![天秤問題.012.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/b3f89c62-0162-1c3b-a759-f35806a405d2.jpeg)

この2回目の測り方の結果は
・釣り合う
・上下動
の2通りになります。

3回目：1回目上下動して、2回目釣り合った場合

この2回目が釣り合ったら残ったGHの中に答えがあるので
Gとセーフから1つを選んで測ります。

釣り合えば残りのHが答え
上下動したらGのボールが答えになります。

![天秤問題.013.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/0bc3f9f5-7bb3-702b-85cc-3962cf42891e.jpeg)

3回目：1回目上下動して、2回目上下動した場合

1,2回目とも上下動した場合は
2回目に測ったこの6個の中に答えがあることになります。

1,2回目で測った際のパターンとしては
4通りあることになります。

![天秤問題.014.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/70d14190-d12f-256c-069a-6deb57bffc7f.jpeg)

ここからは1,2回のパターンごとに3回目を考えることになります。
4パターンの結果はこうなります。

![天秤問題.015.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/595d17a9-b59a-d5a7-33cd-59c9305077be.jpeg)
![天秤問題.016.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/59b65283-5fa1-b4d5-a0a3-cb0c57275b4d.jpeg)
![天秤問題.017.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/235fdb06-0d1a-1197-373d-95ac9c3a4818.jpeg)
![天秤問題.018.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/c2cf5704-37eb-f20a-950d-5ba2ca15ded7.jpeg)

まとめるとこうなります。
![天秤問題.019.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/5ffe96a0-71ec-b45f-7a9b-cdb2a800f2a4.jpeg)


測りの結果は「釣り合う」か「上下動」するので
そのパターンごとに全通りを考えれば良いでしょうね。

さて、天秤問題はいかがでしたでしょうか?

たまにはこういうクイズも良いですよね。
またお会いしましょう。

それでは。

### 作者の情報
乙pyのHP：
http://www.otupy.net/

Youtube：
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter：
https://twitter.com/otupython