編程真題:李白沽酒
極客小將2025-02-06-
使用 Scratch 解決數學難題,下面有一道古代算題,出自清代《增減算法統宗》,我們先來看一下: 李白沽酒探親朋, 路途迢迢有四程, 行至一程多一倍, 卻被書童喝六升, 行到親朋家里面, 半點全無在酒瓶, 借問高朋能算士, 幾何原
使用 Scratch 解決數學難題,下面有一道古代算題,出自清代《增減算法統宗》,我們先來看一下:
李白沽酒探親朋,
路途迢迢有四程,
行至一程多一倍,
卻被書童喝六升,
行到親朋家里面,
半點全無在酒瓶,
借問高朋能算士,
幾何原酒要分明。
編程實現:
詩人李白買了酒去看望親朋好友,路途很遙遠分四段才能走到,每走一段路程, 就在路邊酒館中按酒瓶中的酒量向酒瓶中添加一倍的酒,但是每次添加完酒后被隨從 的小書童偷偷喝掉 6 升(書童的酒量也這么大?),當李白來到親朋家里的時候,卻 發現酒瓶是空的,請問瓶中原來是多少酒呢?(答案: 5.625 )
【首先我們用反推法來重新解決這個問題,假設時間可以倒流(就像電影回放一 樣),讓李白從親朋好友家中倒著走回去,讓書童由喝酒 6 升變成加酒 6 升,同時添 酒一倍變成減酒一半,那么最后酒瓶中剩余的酒是“0”,上一次休息“添加酒”前酒 瓶中剩余的酒就是:(0+6)除以 2(把偷喝的 6 升酒還回去,然后把添加的一倍酒拿 掉),這個過程經過 4 次迭代,就可以算出瓶中有多少酒了。】
編程實現:
如果題目再難一點,比如現在路程變的更遠了,不是 4 程了,是 400 程,也就是 要添酒和偷喝酒 400 次了,再來算算看?。ù鸢福?6 )
