李敏  
          日歷
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345
          統(tǒng)計
          • 隨筆 - 1
          • 文章 - 40
          • 評論 - 4
          • 引用 - 0

          導(dǎo)航

          常用鏈接

          留言簿(1)

          文章分類

          文章檔案

          相冊

          收藏夾

          它山之石

          聚賢莊

          搜索

          •  

          最新評論

           
            A地有100個梨,猴子要把這100個梨搬到B地,A,B地之間的距離是50步,猴子一次只能搬50個梨,猴子每前進(jìn)或后退一步都得吃一個梨,問到達(dá)B地最多剩多少個梨?最少需要幾步?


            根據(jù)題意“A,B地之間的距離是50步,猴子一次只能搬50個梨。”所以猴子不可能直接這么從A地搬到B地,而是一定會中途返回,先把剩余的梨子放到某點(diǎn),然后回到A地把剩余的梨子搬完,接著,當(dāng)走到之前放置地點(diǎn)時,把之前剩余的梨子一起搬上,最后走到B地(往返的次數(shù)越少,則相對的得到的梨也越多,走的步數(shù)也越少),這里假設(shè)的是一次往返就能夠搬完全部的梨子。

          假設(shè)第一次走到M步的時候返回:
            50(猴子一次能夠搬梨的總數(shù))

            猴子吃掉的梨子數(shù):n=M
            此時剩余的梨子數(shù):50-n
            然而返回一趟后,剩余的梨子數(shù):50-n-n  
            --猴子返回時,身上帶著的是返回到A地時所要吃掉的梨子數(shù)(M),剩余的梨子(50-n-n)則留在了M地。

          第二次從A地走到M步的時候:
            50(猴子一次能夠搬梨的總數(shù),此時也就是剩余的那50個梨子)

            猴子吃掉的梨子數(shù):n=M
            剩余的梨子數(shù):50-n


          剩余的總梨子數(shù):
            第一次到M步時剩余的梨子數(shù)+第二次到M步時剩余的梨子數(shù)-走完剩余(50-M)步時所要吃掉的梨子數(shù)
            (50-n-n )+(50-n)-(50-n)=50-2*n
            
          所走的總步數(shù):
            第一次走的M步+第一次返回時走的M步+第二次走的M步+走完剩余(50-M)步
             n + n + n + (50-n)=50+2*n

          M的范圍:
            
            1 M最大值(M=n)
              根據(jù)上面推出的剩余的總梨子數(shù)(50-2*n),即沒有剩余(梨子數(shù)為零)時M為最大值。
               M=n=25
              由于25無實(shí)際意義,故值為24。(可以求出最少剩多少個梨?最多需要幾步?)

            2 M最小值(M=n)
              猴子第一次返回到A地時剩余的梨子數(shù)+猴子第二次走到M步時剩余的梨子數(shù)<=50(猴子一次只能搬的梨子數(shù))
               (50-n-n)+ (50-n)<=50
                (M=n)>=16.6  
               M為整數(shù),故>=17。            (可以求出最多剩多少個梨?最少需要幾步?)  


          算法代碼:(主要說明一下)
          1  int n = 0;
          2
          3  for (int i = 17; i < 25; i++{
          4       
          5     n = i;
          6
          7     System.out.println(i + " " + (50 - 2 * n) + "  " + (50 + 2 * n));
          8
          9  }
           

          posted on 2008-10-29 00:39 李敏 閱讀(240) 評論(0)  編輯  收藏 所屬分類: 算法
           
          Copyright © 李敏 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 通榆县| 应用必备| 仙居县| 万安县| 磐石市| 同心县| 瑞安市| 海宁市| 镇巴县| 中阳县| 阿拉尔市| 昭苏县| 基隆市| 宁河县| 广水市| 宜良县| 青龙| 卢龙县| 专栏| 黄梅县| 内江市| 盐亭县| 定安县| 仲巴县| 云阳县| 厦门市| 迁西县| 广河县| 鄯善县| 广安市| 乌兰察布市| 伊金霍洛旗| 平武县| 林甸县| 大新县| 青铜峡市| 肥东县| 白河县| 平泉县| 郎溪县| 锦屏县|