Weekend Mathematics問題/問題52



52.上皿天秤の問題

上皿天秤で1gから40gまで1gきざみではかりたいのですが、 そのためには、4種類の分銅で充分です。 さて、その4種類の分銅の重さを答えてください。







問題の出典


数学パズル/沖田浩/中経出版






答えと解説





答えと解説

解答・その1

(ペンネ−ム:数学がとっても大好きな新潟県民)

2進法で考えると、 1g、2g、4g、8g、16g、32g の6種類で 63gまで量れる。
これは、2のN乗(N=0,1,2,3,・・・・・)の値となる。
この2を3にしてN乗(N=0,1,2,3,・・・・・)すると、1g、3g、9g、27gとなる。
この4つの分銅の重さの合計は40gとなる。

2gは 3−1
5gは 9−(1+3)
6gは 9−3
7gは (1+9)−3  ・・・・・・・・・
というふうに1gから40gまでの重さを量ることができる。

(答) 1g、3g、9g、27g 



解答・その2

(ペンネ−ム:けんたん)

(解答)4種類の分銅の重さをそれぞれA,B,C,D(0<A<B<C<D)とお くと、A,B,C,Dの係数は−1,0,1の3種類のため81通りの数式ができ る。
ここで、数式の最大値はA+B+C+D、最小値は−A−B−C−Dとなり絶対値は 等しい。
よって、A+B+C+D=40
数式の値が39となるのは、次に大きい数式B+C+Dしかあり得ない。
∴B+C+D=39 ∴A=1
∴38=39−1=B+C+D−A
数式の値が37となるのは、次に大きい数式A+C+Dしかあり得ない。
∴B=(A+B+C+D)−(A+C+D)=40−37=3 ∴C+D=36
∴35=36−1=C+D−A
∴34=36−3+1=C+D−B+A
∴33=36−3=C+D−B
∴32=36−3−1=C+D−B−A
数式の値が31となるのは、次に大きい数式A+B+Dしかあり得ない。
∴D=(A+B+D)−A−B=31−1−3=27 ∴C=9
よって、4種類の分銅の重さは1g、3g、9g、27g



解答・その3

(ペンネ−ム:kiyo)

1g、3g、9g、27gの4種類の分銅です。

2=3−1
4=3+1
5=9−(3+1)6=9−3
7=(9+1)−38=9−1
10=9+1
11=(9+3)−112=9+3
13=9+3+114=27−(9+3+1)
15=27−(9+3)16=(27+1)−(9+3)
17=27−(9+1)18=27−9
19=(27+1)−920=(27+3)−(9+1)
21=(27+3)−922=(27+3+1)−9
23=27−(3+1)24=27−3
25=(27+1)−326=27−1
2728=27+1
29=(27+3)−130=27+3
31=27+3+132=(27+9)−(3+1)
33=(27+9)−334=(27+9+1)−3
35=(27+9)−136=27+9
37=27+9+138=(27+9+3)−1
39=27+9+340=27+9+3+1

左右の天秤に分銅を使うことが許されるとすると、1gから40gまで計測可能。



解答・その4

(ペンネ−ム:Chee)

「4種類の分銅で充分です。」と言われると、1種類で充分!と答えたくなる (1gの分銅を40個用意すると、種類としては1種類...) のですが、異なる重さの分銅を4つという意味ですよね? m(_ _)m

まず、1つは1gとして、次に2gが計れるようにするには、3gを用意すればOK!
1gと3gで...
1 = 1
2 = 3 − 1
3 = 3
4 = 3 + 1
1g〜4gまでできた。

さてと、5g以上を計れるようにするには、9gを用意すれば(1g〜4gまではできているので)
5〜8 = 9 − (4,3,2,1)
9 = 9
10〜13 = 9 + (1,2,3,4)
これで、13gまでできた。

同じように、14g以上を計れるようにするには、27gを用意すれば、(1g〜13gはできているので)
14〜26 = 27 − (13,12,11,...,3,2,1)
27 = 27
28〜40 = 27 + (1,2,3,...,11,12,13)
おぉ!ちょうど40gまでできました。 (^_^)v

でも、この回答って、やってみたらできたって感じ。 これ以外の回答はあるのかな?



解答・その5

(ペンネ−ム:judas)

1g, 3g, 9g, 27g の四つで大丈夫なハズです。 どうやって証明しよう・・・?
下から考えることにすると、まず1gの分銅を用意する。 すると次の2gを計るには2gがあってもよいが、3g-1gでも2gが計れる。 従って、まず1gと3gが必要になる。 このように、必要最低限の分銅の重さを決定していくことを考える。
まず、この2つの分銅で合計1〜4gまで計ることができる。@
すると、次の分銅の重さをAgとした場合、その3つの分銅で1〜(1+3+A)の重さが計れ るようにしなければならない。
このとき、1gと3gの分銅で4gまで計れるから、A〜(A+4)の重さもこの3つで計ること ができる。A
また、(A-4)〜Aも引き算によって計ることができる。B
言いかえると、この1g、3g、Agの分銅では1〜4、(A-4)〜(A+4)の範囲しか計ることが できない。
Aの値によって(A-4)〜(A+4)の範囲は変動するから、1〜(A+4)の範囲をもれなくカ バーするには4〜(A-4)の範囲に穴が開かないようにしなければならない。
従って、A-4は4の次の値(つまり4+1)、すなわちA-4=5であることが必要である。C
∴A=9

これを数列で表してみる。 1gからもれなく計るのことのできる組み合わせの分銅のうち小さい方からn個目の分 銅をa(n)とあらわす。 上記よりa(1)=1、a(2)=3、a(3)=9となる。
a(3)を上で出したときのように考えると、a(1)からa(n)が決まっているとき、a(n+1) との関係を式にすると、

a(n+1)-[a(1)+a(2)+.....+a(n)]=[a(1)+a(2)+.....+a(n)]+1 (Cより)

移項すると、

a(n+1)=2×[a(1)+a(2)+.....+a(n)]+1となる。

以上により、1g, 3g, 9g, 27gの重さがあれば40gまで1gきざみで計ることができる。

####

この問題の解答としてはこれでいいかと思いますが、この解き方が一般的に必要最小 限かどうかってのはわからないですよね? 一番小さい分銅を1gとした場合にはこれでいいとは思うのですが、もし一番小さい分 銅を2g以上のものにした場合、 最初を1gにした場合より効率的に、つまり個数を少なくできる組み合わせができるこ とはないとの証明にはなっていないんですよね。 この証明って存在するんでしょうか?

####

以前疑問に残った、一般化して考えたときに他により効率的な方法(より少ない分銅 で同じ範囲を計ることができる、あるいは同じ数の分銅でより広い範囲を計ることが できる)はない、ということを証明できたと思います。

a(n+1)=2×[a(1)+a(2)+.....+a(n-1)+a(n)]+1 D
同様に、
a(n)=2×[a(1)+a(2)+.....+a(n-1)]+1
これを変形すると
a(1)+a(2)+.....+a(n-1)=1/2×[a(n)-1] E
EをDに代入すると
a(n+1)=2×[1/2×[a(n)-1]+a(n)]+1=a(n)-1+2×a(n)+1=3×a(n) F
従って、この選び方では初項1、公比3の等比数列となり、
n個目の分銅はa(n)=3n-1、 n個の分銅で計ることができる上限すなわち総和はSn=1/2×[3n-1] G
と表すことができる。

上記の効率的な組合せとは全く無関係に、n個の分銅があったときの分銅の組合せを 考える。
上皿天秤で計るので、計る対象となる物は左の皿に置くことにする。
このとき、各分銅について、
 右皿に置く(つまり+)
 左皿に置く(つまり-)
 どちらにも置かない(つまり0) の3通り考えられる。(3n通り)
このうち、0gの組合せ、すなわち全ての分銅をどちらにも置かない組合せを引く。
(3n-1通り)
また、対象となる物は左皿に置くから、最終的に左皿がプラスとなる組合せ(つまり 右皿がマイナス、対象物の重さがマイナスになる?という無意味な組合せ)を引く。 左皿がプラスになる組合せの数と右皿がプラスになる組合せの数は全く等しいので、 結局、n個の分銅で右皿がプラスとなる組合せは1/2×[3n-1]通りあることになる。H
Gは1gから1/2×[3n-1]gまで1/2×[3n-1]通り計ることができる、と言う事ができる から、 Gでできる組合せで得られる結果(重さ)の種類の数がHと等しいことから、上で求 めた効率的なn個の分銅でできるすべての組合せ(H)は1〜1/2×[3n-1]までの1gき ざみの重さすべて(G)と1対1で対応していることがわかる。
以上により、この選び方は必要最小限の数の分銅を選ぶことができるといえる。 もちろん、他の選び方の存在は否定できないが、少なくともこの選び方より効率のよ い方法はないといえる。
ちょっと長くてごちゃごちゃしてますが、こんなところでどうでしょうか? 最初の選び方において「重さが同じとなる組み合わせは2つ以上ない」ことを説明で きれば簡単だったのですが、 重さに関係なく可能な組合せの数を出した方が説得力があるかな?とおもったのでこ うなりました。



解答・その6

(ペンネ−ム:ねこ)

1(=3)g、3(=3)g、 9(=3)g、27(=3)gの4つ。
−1,0,1の3進数と見ればOK。
量るものを右のさらに乗せるとき、 1なら左、−1なら右、0なら乗せないようにする。

 27
−1
−1−1
−1
−1
−1
10
11−1
12
13
14−1−1−1
15−1−1
16−1−1
17−1−1
18−1
19−1
20−1−1
21−1
22−1
23−1−1
24−1
25−1
26−1
27
28
29−1
30
31
32−1−1
33−1
34−1
35−1
36
37
38−1
39
40





解答・その7

(ペンネ−ム:夜ふかしのつらいおじさん )

解答は(1)・(3)・(9)・(27)gの4種類です。
なぜなら、次のように1から40までの数と分銅とで等式を作れるからです。
左辺は左のサラに、右辺は右のサラにのせれば天秤は釣り合います。

1=(1)2+(1)=(3)
3=(3)4=(1)+(3)
5+(1)+(3)=(9)6+(3)=(9)
7+(3)=(1)+(9)8+(1)=(9)
9=(9)10=(1)+(9)
11+(1)=(3)+(9)12=(3)+(9)
13=(1)+(3)+(9)14+(1)+(3)+(9)=(27)
15+(3)+(9)=(27)16+(3)+(9)=(1)+(27)
17+(1)+(9)=(27)18+(9)=(27)
19+(9)=(1)+(27)20+(1)+(9)=(3)+(27)
21+(9)=(3)+(27)22+(9)=(1)+(3)+(27)
23+(1)+(3)=(27)24+(3)=(27)
25+(3)=(1)+(27)26+(1)=(27)
27=(27)28=(1)+(27)
29+(1)=(3)+(27)30=(3)+(27)
31=(1)+(3)+(27)32+(1)+(3)=(9)+(27)
33+(3)=(9)+(27)34+(3)=(1)+(9)+(27)
35+(1)=(9)+(27)36=(9)+(27)
37=(1)+(9)+(27)38+(1)=(3)+(9)+(27)
39=(3)+(9)+(27)40=(1)+(3)+(9)+(27)

P.S.
中学2年生の数学の授業でほぼ同じ内容のものがありますね。
記数法を学習するのですが、お金を払うのにどんなコインを用意するのがいい のかという設定です。
(相手からおつりをもらうとすればまったくおなじになる)
普通のお金だと1円玉、5円玉、10円玉ですが例えば19円払うのに3種類6枚使います。
いろいろなコインの種類を考えて種類と枚数が総合的に少なくなるようにするにはどうしたらいいか?
結論は2進法のコインを用意する (1円玉、2円玉、4円玉、8円玉、16円玉・・・)。
2進法コインの最大のメリットはどんな額を払うにもコインはどの種類も1枚だけ用 意しておけばよいということです。



解答・その8

(ペンネ−ム:高橋 道広 )

「答えは1,3,9,27」ですが、この考えを一般化して説明するにはどうすればいいでしょう。
イメージ的には、数字を三進法で表して、40(10)=1111(3)ですから、1111(3)以下の数は、 たとえば1021(3)とかは1021=1101-10を利用すればいいことになります。

一般に1,3,9,27,81,..グラムの分銅があるとして、 n個で(3n-1)/2通りのはかり方があることを証明します。
分銅が1個のときは1通りのはかりかたがあります。 分銅がk個のときに、1+3+...3k-1=(3k-1)/2の図り方があると仮定して、 k+1個の時は、 まず3を使わない(3k-1)/2通り 次に3kのみを使う1通り 更に、3kと(3k-1)/2通りを同じ天秤に載せるか、逆に載せるかの2×(3k-1)/2通り (実際は天秤の両方に分銅を載せるのですが、便宜上1グラムから、(3k-1)/2グラム間での1グラム おきの分銅があって、それを3kの分銅の同じ方におくか、逆のほうにおくかというイメージです) 合計(3k-1)/2×3+1=(3k+1-1)/2通りになります。
さてこの中で同じ重さを図ることがない事を証明します。
便宜上1グラムから、(3k-1)/2グラム間での1グラムおきの分銅があると考えててください。 問題は、3kの分銅と逆の方に、おくときです。これ以外は、(3k-1)/2より少ないか、3kより多いか のどちらかですから、だぶってはいません。
逆のほうにおくと当然3kよりは少ない事になります。また、最大で(3k-1)/2を逆におくことができ ますが、3k−(3k-1)/2= (3k+1)/2でこれは(3k-1)/2より大きいことがわかります。 このことから、重複のはかり方がない事が分かり、最大は(3k+1-1)/2グラムですから 1グラム刻みではかれることが分かりました。    



解答・その9

(ペンネ−ム:Idaho Potato)

答:1g, 3g, 9g, 27g.

要するに、-1, 0, 1 の3つの数字を用い、n桁目に 3n の重みをつけた3進数を考えるわけです。
0, 1, 2 の3つの数字を用いる通常の3進数では、4桁で 0 〜 80 の整数を表現できますが、 使う数字を -1, 0, 1 とすると、-40 〜 40 の整数を表現できます。
一般に、この記数法によるn桁の数で表現できる整数の範囲は、-(3n - 1) / 2 〜 (3n - 1) / 2 です。

天秤でいえば、「1」の桁は左に分銅をのせて、「-1」の桁は右に分銅をのせればよいのです。

この記数法の特徴は、「マイナス記号」を使うことなく、負の数を正の数と同様に記述できることです。
整数はもちろん、無限小数を用いれば実数も表現できます。
また、使う数字の範囲は違っても、基本的には「位取り記数法」ですから、足し算やかけ算の筆算もできます。
足し算の場合、「1」が2つ重なったら、その位を「-1」にして上の位に 1 を繰り上げ、「-1」が2つ重なったら、その位を「1」にして上の位に -1 を繰り上げ(?)ればよいわけです。
かけ算は、普通の筆算と同様に、桁をずらして足せばできます。
2つの数の大小判定は、単に上の位から順に数字を比較すればOKです。 特に、最上位の数字を見れば正負がわかります。

    8          1  0 -1
 +) 7    +)    1 -1  1
------  ---------------
   15       1 -1 -1  0
    7             1 -1  1
 *) 5    *)       1 -1 -1
------  ------------------
   35            -1  1 -1
              -1  1 -1
            1 -1  1
        ------------------
            0  1  1  0 -1

マイナス記号を使わずに負の数を記述する別のアプローチとして、0, 1 の2つの数字を用い、n桁目に (-2)n の重みをつける「-2進法」も考えられます。
n が偶数のとき、n桁の-2進数で表現できる整数の範囲は、(-2)×(2n - 1) / 3 〜 (2n - 1) / 3 です。 やはり、無限小数を用いれば、実数も表現できます。
2桁ずつ束ねて見れば、-2, -1, 0, 1 の4つの数字を持つ4進数と考えられるので、上述の3進数のバリエーションともいえます。

-10  1010
 -9  1011
 -8  1000
 -7  1001
 -6  1110
 -5  1111
 -4  1100
 -3  1101
 -2  0010
 -1  0011
  0  0000
  1  0001
  2  0110
  3  0111
  4  0100
  5  0101

これをさらに発展させれば、n桁目に (sqrt(2)×i)n (ただし i は虚数単位)の重みを持たせて、0, 1 の2つの数字だけで複素数を表現する、なんてこともできそうですね。





解答・その10

(ペンネ−ム:浜田 明巳)

答:1,3,9,27
エクセルのマクロで解きました.この頃不調です.答もこれひとつしかないことも確認しました.

Option Explicit
Sub Macro1()
    Dim bundou(4) As Integer
    Cells(1, 1).Value = 0 '答の個数
    Range("A1").Select
    bundou(0) = 1
    Call check1(1, bundou())
End Sub
Sub check1(ByVal n As Integer, ByRef bundou() As Integer)
    Dim j(4) As Integer
    Dim omosa(40) As Integer
    Dim i As Integer
    Dim dame As Integer
    bundou(n) = bundou(n - 1) 'bundou(1)≦bundou(2)≦bundou(3)≦bundou(4)
    While bundou(n) <= 50
      If n < 4 Then
        Call check1(n + 1, bundou())
      Else
        For i = 1 To 40
          omosa(i) = 0
        Next i
        Call check2(1, bundou(), j(), omosa())
        dame = 0
        i = 1
        While dame = 0 And i <= 40 '1〜40まで計れるか
          dame = -(omosa(i) = 0)
          i = i + 1
        Wend
        If dame = 0 Then
          Cells(1, 1).Value = Cells(1, 1).Value + 1
          For i = 1 To 4
            Cells(Cells(1, 1).Value, i + 1).Value = bundou(i)
          Next i
        End If
      End If
      bundou(n) = bundou(n) + 1
    Wend
End Sub
Sub check2(ByVal n As Integer, ByRef bundou() As Integer, ByRef j() As Integer, ByRef omosa() As Integer)
    Dim i As Integer
    Dim wa As Integer
    j(n) = -1
    While j(n) <= 1
      If n < 4 Then
        Call check2(n + 1, bundou(), j(), omosa())
      Else
        wa = 0
        For i = 1 To 4
          wa = wa + j(i) * bundou(i)
        Next i
        If wa > 0 And wa <= 40 Then
          omosa(wa) = 1
        End If
      End If
      j(n) = j(n) + 1
    Wend
End Sub




正解者

夜ふかしのつらいおじさんkiyo高橋 道広
judas浜田 明巳数学がとっても大好きな
新潟県民
けんたんねこChee
Idaho Potato





まとめ

最初に問題文に誤解をまねく表現があったことをお詫びいたします。
1gの分銅で充分ではないですか? というご指摘を受けましたが、 いくら支払うにしても大量の1円玉があれば、支払うことはできるというのと同じですね。 今回の問題は、"4種類の分銅はそれぞれ1個ずつ"ということで考えてください。

問題の答えは、1,3,9,27の4種類です。
しかし、この答えを出しただけでは不十分で、 この4つで実際に1g〜40gまでを1gきざみで表現できるということの 検証が必要かと思います。 高橋 道広さんのように一括証明できればベスト、 または実際に40通り示してもいいと思います。

解答の一意性についての疑問(答えはこの組み合わせだけなのかなあ?)に対する答えは、 浜田 明巳さんが検証してくださいました。 そしてこれが、もっとも効率的な組み合わせであるということを、 judasさん高橋 道広さんが示してくださいました。

夜ふかしのつらいおじさんのご指摘の通り、普通は2進数で考えます。 しかしこの天秤問題は、相手方に分銅をのせることでマイナスの数を表現できる(相手からおつりをもらえる) ということで、結果的に3進数ということになります。
ねこさんが3進法表示の解答を示してくださいました。 これをみるとよく理解できると思います。

問題文にある40gというのも実は意味のある数です。 おわかりですよね? 40=1111(3)です。
さらに4種類の分銅で3進法表示すると、3=81通りの表現があるはずです。
残りの41通りはどこにいってしまったか?
それは、−40g〜0gです。
逆に、1,3,9,27,・・・というn個の分銅で、(3−1)/2gまで、 1gきざみではかることができるわけです。 (高橋 道広さんの証明参照)





E-mail 戻る top