編程真題:李白沽酒
使用 Scratch 解決數(shù)學(xué)難題,下面有一道古代算題,出自清代《增減算法統(tǒng)宗》,我們先來看一下:
李白沽酒探親朋,
路途迢迢有四程,
行至一程多一倍,
卻被書童喝六升,
行到親朋家里面,
半點(diǎn)全無在酒瓶,
借問高朋能算士,
幾何原酒要分明。
編程實(shí)現(xiàn):
詩人李白買了酒去看望親朋好友,路途很遙遠(yuǎn)分四段才能走到,每走一段路程, 就在路邊酒館中按酒瓶中的酒量向酒瓶中添加一倍的酒,但是每次添加完酒后被隨從 的小書童偷偷喝掉 6 升(書童的酒量也這么大?),當(dāng)李白來到親朋家里的時候,卻 發(fā)現(xiàn)酒瓶是空的,請問瓶中原來是多少酒呢?(答案: 5.625 )
【首先我們用反推法來重新解決這個問題,假設(shè)時間可以倒流(就像電影回放一 樣),讓李白從親朋好友家中倒著走回去,讓書童由喝酒 6 升變成加酒 6 升,同時添 酒一倍變成減酒一半,那么最后酒瓶中剩余的酒是“0”,上一次休息“添加酒”前酒 瓶中剩余的酒就是:(0+6)除以 2(把偷喝的 6 升酒還回去,然后把添加的一倍酒拿 掉),這個過程經(jīng)過 4 次迭代,就可以算出瓶中有多少酒了。】
編程實(shí)現(xiàn):
如果題目再難一點(diǎn),比如現(xiàn)在路程變的更遠(yuǎn)了,不是 4 程了,是 400 程,也就是 要添酒和偷喝酒 400 次了,再來算算看!(答案: 6 )
- 上一篇
編程真題:古題算法
明代數(shù)學(xué)家吳敬《九章算法比類大全》中有這樣一首詩:“遠(yuǎn)看巍巍塔七層,紅 光點(diǎn)點(diǎn)倍加增,共燈三百八十一,請問尖頭幾盞燈?”這首詩的意思是:“從遠(yuǎn)處看一座宏偉的 7 層寶塔,每層都掛著紅色燈籠,寶塔 從最上層開始,下面一層的燈籠數(shù)量都是上一層的 2 倍,我們知道這座寶
- 下一篇
編程真題:計算數(shù)根
數(shù)根(又稱數(shù)字根 Digital root)是自然數(shù)的一種性質(zhì),換句話說,每個自然數(shù)都有 一個數(shù)根。 數(shù)根是將一正整數(shù)的各個位數(shù)相加(即橫向相加),若加完后的值大于等于 10 的 話,則繼續(xù)將各位數(shù)進(jìn)行橫向相加直到其值小于十為止,或是,將一數(shù)字重復(fù)做數(shù)字 和,直到其值小于十為
