水の秤量問題

10リットル、7リットル、3リットルの容器が各1個あり、10リットルの容器にのみ水が満タンに入っています。

  1. この水を移し変える操作により、5リットルを量りとってください。
  2. この水を移し変え、或いは捨てさる操作により、7リットル及び3リットルの容器に各1リットルの水を量りとってください。但し、水は捨て去ることはできても、最初の10リットル以外の水を使う(補給する)ことはできません。また、最小の操作(捨てるのも1回でカウント)でこれを達成してください。

回答方法の例(解説は不要です)

  10l 7l 3l   <解説> 
0)10  0  0  (←最初の状態)
1) 3  7  0  (10→7の移し変え) 
2) 3  4  3  (7→3の移し変え) 
3) 3  4  0  (3を捨て去る) 
・・・・・・・・・
・・・・・・・・・
X) 0  1  1   (ゴ~~~~~ル)

水の秤量問題」への9件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  1. 1.

      10l 7l 3l
    0)10  0  0
    1) 7  0  3
    2) 7  3  0
    3) 4  3  3
    4) 4  6  0
    5) 1  6  3
    6) 1  7  2
    7) 0  7  2
    8) 2  7  0
    9) 2  4  3
    10)5  4  0
    

    2.

    0)10  0  0
    1) 7  0  3
    2) 7  3  0
    3) 4  3  3
    4) 4  6  0
    5) 1  6  3
    6) 1  7  2
    7) 1  7  0
    8) 1  4  3
    9) 1  4  0
    10)1  1  3
    11)1  1  0
    12)0  1  1

    2問目については、もっと効率的な方法もあるのでしょうが、僕には思いつきません。

  2. 1.
      10l 7l 3l 
    0)10  0  0  
    1) 3  7  0   
    2) 3  4  3   
    3) 6  4  0   
    4) 6  1  3 
    5) 9  1  0
    6) 9  0  1
    7) 2  7  1
    8) 2  5  3 

    2.
      10l 7l 3l 
    0)10  0  0  
    1) 3  7  0   
    2) 3  4  3   
    3) 6  4  0   
    4) 6  1  3  
    5) 9  1  0
    6) 9  0  1
    7) 2  7  1
    8) 0  7  1
    9) 1  7  0
    10) 1  4  3
    11) 1  4  0
    12) 1  1  3
    13) 1  1  0
    14) 0  1  1

    長いかな?

  3. 
    <5リットル編>
    
    0:10 0 0
    1: 3 7 0
    2: 3 4 3
    3: 6 4 0
    4: 6 1 3
    5: 9 1 0
    6: 9 0 1
    7: 2 7 1
    8: 2 5 3
    
    
    
    <1リットル編>
    
     0:10 0 0
     1: 7 0 3
     2: 7 3 0
     3: 4 3 3
     4: 4 6 0
     5: 1 6 3
     6: 1 7 2
     7: 1 7 0
     8: 1 4 3
     9: 1 4 0
    10: 1 1 3
    11: 1 1 0
    12: 0 1 1
    
    

    1リットル問題は、どうしても2リットル計量後にほかす手を挟まないと解けず・・・。
    うーん、10手くらいでいけそうな気もするんですが・・・。

  4.   10l 7l 3l
    0)10  0  0
    1) 7  0  3
    2) 7  3  0
    3) 4  3  3
    4) 4  6  0
    5) 1  6  3
    6) 1  7  2
    7) 8  0  2
    8) 8  2  0
    9) 5  2  3

    あらま、ループしないようにしたら出来ちゃうじゃん^^;

      10l 7l 3l
    0)10  0  0
    1) 7  0  3
    2) 7  3  0
    3) 4  3  3
    4) 4  6  0
    5) 1  6  3
    6) 1  7  2
    7) 1  7  0
    8) 0  7  1
    9) 7  0  1
    10)7  1  0
    11)4  1  3
    12)4  1  0
    13)1  1  3
    14)1  1  0
    15)0  1  1

  5. 想定解答は双子星さんの手順です。
    問1は8回、問2は12回が最短手順のはずです。
    しゅうさん、藤島さんは(最短操作という条件から)
    片方だけ正解です。

  6. 1)
       10L 7L 3L
     0)10  0  0
     1) 3  7  0
     2) 3  4  3
     3) 6  4  0
     4) 6  1  3
     5) 9  1  0
     6) 9  0  1
     7) 2  7  1
     8) 2  5  3

    2)
       10L 7L 3L
     0)10  0  0
     1) 3  7  0
     2) 3  4  3
     3) 6  4  0
     4) 6  1  3
     5) 9  1  0
     6) 9  0  1
     7) 2  7  1
     8) 0  7  1
     9) 1  7  0
    10) 1  4  3
    11) 1  4  0
    12) 1  1  3
    13) 1  1  0
    14) 0  1  1

    最小の動作かどうかは、チェックしていませんが… > 2)
    # 1) はチェックしました

  7.    10l 7l 3l    
     0)10  0  0  
     1) 3  7  0   
     2) 3  4  3   
     3) 6  4  0   
     4) 6  1  3  
     5) 9  1  0   
     6) 9  0  0   
     7) 2  7  0   
     8) 2  4  3  
     9) 5  4  0   
    10) 5  1  3   
    11) 8  1  0   
    12) 8  0  0  
    13) 1  7  0   
    14) 1  4  3   
    15) 1  4  0   
    16) 1  1  3   
    17) 1  1  0   
    18) 0  1  1   
    

      

  8. ①を10リットル、②を7リットル、③を3リットルの容器とします。

    1.5リットルを測り取る

    0)①10 ②0 ③0
    1)①3  ②7 ③0 (①→②)
    2)①3  ②4 ③3 (②→③)
    3)①6  ②4 ③0 (③→①)
    4)①6  ②1 ③3 (②→③)
    5)①9  ②1 ③0 (③→①)
    6)①9  ②0 ③1 (②→③)
    7)①2  ②7 ③1 (①→②)
    8)①2  ②5 ③3 (②→③)完成!

    2.②と③を1リットルに

    0)①10 ②0 ③0
    1)①7  ②0 ③3 (①→③)
    2)①7  ②3 ③0 (③→②)
    3)①4  ②3 ③3 (①→③)
    4)①4  ②6 ③0 (③→②)
    5)①1  ②6 ③3 (①→③)
    6)①1  ②7 ③2 (③→②)
    7)①1  ②7 ③0 (③→捨てる)
    8)①1  ②4 ③3 (②→③)
    9)①1  ②4 ③0 (③→捨てる)
    10)①1  ②1 ③3 (②→③)
    11)①1  ②1 ③0 (③→捨てる)
    12)①0  ②1 ③1 (①→③)完成!

    もう少し少ない手順があったりして。