李白沽酒原文,李白沽酒翻译及赏析

华峰博客 448

《李白沽酒》是一道流传极广的数学名题。始见于我国宋元时期数学家朱世述的《四元宝鉴》。

原文:

李白无事街上走,提着酒壶去买酒,

遇店加一倍,见花喝一斗,

三遇店与花,喝光壶中酒,

试问壶中原有多少酒?

原文意思是:

李白闲来无事做,想喝酒了发现酒壶里的酒不多了,就提起酒壶上街买酒,这个酒壶里原来是有酒的,每次遇到酒店,就将壶中的酒增加一倍,看到了花喝去一斗酒,这样先经过酒店,后遇到花,总共反复三次,最后一次遇到花时,正好喝光了壶中的美酒,那么李白的酒壶里原来有多少酒呢?

解法:

1、假设壶中原有酒为 x ,编程时需要创建一个变量——壶中酒

2、第一次遇到酒店加一倍——2x,壶中酒 X 2

3、第一次看到花喝去一斗——2x-1,壶中酒 X 2 - 1

李白沽酒原文,李白沽酒翻译及赏析

4、第二次遇到酒店加一倍——2*(2x-1),2*(壶中酒 X 2 - 1)

5、第二次看到花喝去一斗——2*(2x-1) -1,2*(壶中酒 X 2 - 1) - 1

6、三次遇到酒店和看到花之后——2[2*(2x-1) -1]-1,2[2*(壶中酒 X 2 - 1) - 1]-1

经过推导后,可以算出来酒壶中原有酒量为:x=7/8 , 0.875。

那么在Scratch中如何实现这个过程呢?

在编程中无法将变量——壶中酒设为x,我们可以尝试将上面的推导过程反过来试一下,

原文中说了,最后一次遇到花时,正好喝光了壶中的美酒,那么我们将壶中酒这个变量设为0,然后反推后得到公式:

第三次:壶中酒 = (0+1)/2 = 1/2 。

第二次:壶中酒 = (1/2+1)/2 = 3/4,1/2=>壶中酒。

第一次:壶中酒 = (3/4+1)/2 = 7/8,3/4=>壶中酒。

代码如下:

上一篇:

下一篇:

  同类阅读

分享