日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

煤火车问题

發(fā)布時間:2024/4/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 煤火车问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

煤火車問題

  • 剛面試問到這個題。可惜一直沒有為此類問題準備,差點就回答出來了

題目內容

  • 你是山西的一個煤老板。你在礦區(qū)開採了有3000噸煤須要運送到市場上去賣。從你的礦區(qū)到市場有1000公里。你手里有一列燒煤的火車。這個火車最多僅僅能裝1000噸煤,且其能耗比較大——每一公里須要耗一噸煤。請問,作為一個懂編程的煤老板的你,你會怎么運送才干運最多的煤到集市?

分析

  • 非常顯然每次走全程的話是無法到達終點的,更別說剩余部分煤。必定把煤所有運到中間某點,然后再繼續(xù)運
  • 假設第一次把煤所有運輸到中間某點A,距離為x,那么消耗的煤的數量為5x。由于要往返兩次,再單程一次把剩下的1000噸運往A點。
  • 假設A點剩余煤量3000-5x大于2000,那么下一次假設從A運輸到B,距離為y,消耗的煤的數量相同是5y。
  • 假設A點剩余煤量小于2000。那么從A到B僅僅需往返一次,再單程一次,消耗煤的數量為3y。
  • 由此可見,從一點到另外一點距離為s。中途不折返,假設初始煤量在3000~2000之間,須要消耗5s噸煤
  • 同理得到,s距離不折返初始煤量在2000~1000之間,須要消耗3s噸煤
  • s距離不折返初始煤量在1000~0之間,須要消耗s噸煤
  • 那么終于的策略為每次選擇單位消耗最小的方式運輸。第一次消耗5x,第二次消耗3y,第三次消耗z。滿足第一次消耗之后剩余2000噸,第二次消耗之后剩余1000噸

結果

  • x=200。

    轉為單位消耗3的方式運輸。y=333。轉為單位消耗1的方式運輸。z=(1000-x-y)= 467。

    剩余533噸煤

  • 假設換一種思路,要求n1000噸煤最多能夠運輸多遠,那么有n=1時為10001,n=2時為1000(1+1/3)。

    繼續(xù)下去得到傳輸距離為1000

    (1+1/3+1/5+...+1/(2*n-1))。級數不收斂,表明僅僅要煤足夠多。能用運輸到足夠遠

  
  

轉載請注明作者:Focustc,博客地址為http://blog.csdn.net/caozhk,原文鏈接為點擊打開
  
  

轉載于:https://www.cnblogs.com/blfshiye/p/4562627.html

總結

以上是生活随笔為你收集整理的煤火车问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。