2014年12月31日 星期三

訓練數學感 47 ─ 鹽水配製

https://4rdp.blogspot.com/2014/12/47.html

這一題是小朋友在餐館吃飯時考我的,當時沒有紙筆的情況下,花十分鐘以心算求解。而他想了兩小時以非代數方式求出。

有兩杯 300 cc 的水,一杯是 18% 完全混合的鹽水,另一杯是純清水,請問將 18% 鹽水倒入清水中,要加入多少 cc 鹽水才能調配出 6% 完全混合鹽水?

難度 

這題有些難,不曉得小六的同學是否有辦法解出來?

進階考題,尋找調製特定%的通解,試算表參考
https://docs.google.com/spreadsheets/d/1_5bdad5pV2gSXYHldDNggTmUko0MLbzZ7u233gBHC_g/edit#gid=0


16 則留言:

  1. A:300g,18%鹽水溶液(鹽巴+水)
    B:300cc(=300g)的水
    兩杯混和後,欲調配成6%濃度,假設倒入18%鹽水x,則:
       18%‧x
    6%=-----------------------
       x+300

    x+300=3x
    >>x=150

    回覆刪除
    回覆
    1. 薛老師,2015 新年快樂!正解。
      前一則留言有收到,謝謝指正,查一下維基百科,氯化鈉密度為 2.16 g/cm^3,18% 的 300cc 鹽水,重量應該是 362.64 g= 54 x 2.16 + 246,我認為這題以體積計算比較適合。

      加分題,如果杯子容量 350cc,僅利用兩個杯子剩餘空間,把水倒來倒去,請問怎樣倒可以獲得 300cc 6%的鹽水?

      刪除
  2. 我以為留言刪除就沒看到了! ^____^
    加分題嘛,Bridan題目太有學問了。
    大概要用迭代的方式去計算了,頭好昏@@ ~~

    回覆刪除
  3. 迭代求解的部份,確實更難,不過應該可以破解,期待高手秒解。
    先預告進階題,求鹽水倒來倒去的通解。

    回覆刪除
  4. A:300cc,18%鹽水溶液(鹽巴+水)
    B:300cc的水
    在不超過350cc的杯子容量條件下,假設A取有x、B取y:
    要得到6%,300cc
    x+y=300....(1)
       18%‧x
    6%=-------------------------..............(2)
       x+y
    根據(2): y=2x,帶回(1)得y=200,x=100
    因此把x倒掉部分的液體,剩下100(cc)、y倒掉部分的液體剩下200(cc),兩杯混和成300cc即6%

    回覆刪除
  5. 哈,老師竟然用這招,用基本題的解法處理!
    那加分題再限制嚴格一點,如果杯子容量 350cc,僅利用兩個杯子剩餘空間,把水倒來倒去,請問怎樣倒可以獲得 300cc 6%的鹽水?這些溶液不得倒掉浪費。

    回覆刪除
  6. 我用matlab程式寫AB互倒的迴圈,但是是手動輸入A倒入B或B倒入A,以及CC數。
    至於是否有最佳化的程式,找到最適的策略,大家集思廣義。
    程式碼:
    ============
    clear all
    clc
     
    A=[0.18; 300];
    B=[0;300];
    x=0;y=0;
    i=1;
     
    while (i~=0)
     
     fprintf('A濃度=%3.2f,容量=%d\n',A(1),A(2));
     fprintf('B濃度=%3.2f,容量=%d\n',B(1),B(2));
     i=input('A倒入B(輸入1)/B倒入A(輸入2)/結束(輸入0):');
     if (i==1)
      x=input('容量:');
      y=B(2);
      while(x+y>350)  
        x=input('容量:');
        y=B(2);
      end
      A=[A(1);A(2)-x];
      B=[(A(1)*x+B(1)*y)/(x+y);(x+y)];
     end
     if (i==2)
      y=input('容量:');
      x=A(2);
      while(x+y>350)
       y=input('容量:');
       x=A(2);
      end 
      A=[(A(1)*x+B(1)*y)/(x+y);(x+y)];
      B=[B(1);B(2)-y];
     end
    end
    ============
    A濃度=0.18,容量=300
    B濃度=0.00,容量=300
    A倒入B(輸入1)/B倒入A(輸入2)/結束(輸入0):1
    容量:50
    ~~~~~~~~
    A濃度=0.18,容量=250
    B濃度=0.03,容量=350
    A倒入B(輸入1)/B倒入A(輸入2)/結束(輸入0):2
    容量:50
    ~~~~~~~~
    A濃度=0.15,容量=300
    B濃度=0.03,容量=300
    A倒入B(輸入1)/B倒入A(輸入2)/結束(輸入0):1
    容量:50
    ~~~~~~~~
    A濃度=0.15,容量=250
    B濃度=0.04,容量=350
    A倒入B(輸入1)/B倒入A(輸入2)/結束(輸入0):2
    容量:50
    ~~~~~~~~
    A濃度=0.14,容量=300
    B濃度=0.04,容量=300
    A倒入B(輸入1)/B倒入A(輸入2)/結束(輸入0):1
    容量:50
    ~~~~~~~~
    A濃度=0.14,容量=250
    B濃度=0.06,容量=350
    A倒入B(輸入1)/B倒入A(輸入2)/結束(輸入0):2
    容量:50
    ~~~~~~~~
    A濃度=0.12,容量=300
    B濃度=0.06,容量=300
    A倒入B(輸入1)/B倒入A(輸入2)/結束(輸入0):0
    ~~~~~~~~

    回覆刪除
    回覆
    1. 薛老師,
      謝謝提供 MATLAB 程式驗證,不過我發現因為小數位數有限,其實並沒有很精準達到 6%,請參考我的試算表
      https://docs.google.com/spreadsheets/d/1_5bdad5pV2gSXYHldDNggTmUko0MLbzZ7u233gBHC_g/edit#gid=0,我也不確定能否解出精確 6%數值,留給大家研究看看。

      刪除
    2. 若以每次50cc,有機會逼近

      刪除
    3. 一直以50cc倒來倒去,最後會在 9%平衡,而非 6%,因此要得出精準濃度不是易事。

      刪除
    4. 確實,若無止境混合,最後在9%。
      若設定條件:
      B濃度-6%<err
      若條件滿足則停止。
      ====================
      A濃度=0.180,容量=300
      B濃度=0.000,容量=300
      ~~~~~
      AtoB 50cc
      A濃度=0.180,容量=250
      B濃度=0.026,容量=350
      ~~~~~
      BtoA 50cc
      A濃度=0.154,容量=300
      B濃度=0.026,容量=300
      ~~~~~
      AtoB 50cc
      A濃度=0.154,容量=250
      B濃度=0.044,容量=350
      ~~~~~
      BtoA 50cc
      A濃度=0.136,容量=300
      B濃度=0.044,容量=300
      ~~~~~
      AtoB 50cc
      A濃度=0.136,容量=250
      B濃度=0.057,容量=350
      ~~~~~
      BtoA 50cc
      A濃度=0.123,容量=300
      B濃度=0.057,容量=300
      ~~~~~

      刪除
    5. 哈,還沒休息,看來這題精準調製鹽水,可能要列為待解難題。老師可以考考同學。^_^

      刪除
  7. Bridan,我把你的試算表改進了一下,結果確實可以準確得出6%!

    300 18.00% 17 300 0.00%
    283 18.00% -17 317 0.97%
    300 17.03% 19 300 0.97%
    281 17.03% -19 319 1.92%
    300 16.08% 23 300 1.92%
    277 16.08% -23 323 2.93%
    300 15.07% 29 300 2.93%
    271 15.07% -29 329 4.00%
    300 14.00% 29 300 4.00%
    271 14.00% -29 329 4.88%
    300 13.12% 47 300 4.88%
    253 13.12% -47 347 6.00%
    300 12.00% 300 6.00%

    還準確得出了4%,實在僥幸。
    關於整數百分比的通解,我剛嘗試了40分鐘,還沒有頭緒。

    回覆刪除
    回覆
    1. Linke,

      你被百分比四捨五入到小數第二位的假象給騙了,當我把位數擴展到第六位,可以清楚看到有誤差,
      要精準調至鹽水到某個百分比,我認為應該是可能的,但是這個通解方法,若能被研究出來,應該可以在數學史上成名。

      刪除
  8. 如下是精確到小數點後第六位的方法:
    第七位還不行……
    300 0.18 43 300 0.0000000000
    257 0.18 -43 343 0.0225655977
    300 0.157434402 41 300 0.0225655977
    259 0.157434402 -41 341 0.0387814950
    300 0.141218505 37 300 0.0387814950
    263 0.141218505 -37 337 0.0500282884
    300 0.129971712 21 300 0.0500282884
    279 0.129971712 -21 321 0.0552582320
    300 0.124741768 11 300 0.0552582320
    289 0.124741768 -11 311 0.0577158490
    300 0.122284151 11 300 0.0577158490
    289 0.122284151 -11 311 0.0599996153
    300 0.120000385 300 0.0599996153

    回覆刪除
    回覆
    1. 嗯,革命尚未成功,同志仍須努力!

      刪除