继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

数列和 python

乌然娅措
关注TA
已关注
手记 64
粉丝 21
获赞 12

Background Story :

很多数学家一起去了一个酒吧,第一个要了一杯啤酒,第二个要了 1/2 杯啤酒, 第三个要了 1/4 杯啤酒, 第四个要了 1/8啤酒。 那个漂亮的bartender 翻了个白眼,给了他们两杯啤酒,说, 你们自己去分吧! 😍

Question: What is the Summation of

1+1/2+1/4+1/8+1/16... 1 +1/2+ 1/4 +1/8 +1/16 ... 1+1/2+1/4+1/8+1/16...

[caption id=“attachment_1733” align=“alignnone” width=“750”]image

RitaE / Pixabay[/caption]

Solution:

This is a famous example of a Geometric series

KaTeX parse error: Expected 'EOF', got '·' at position 27: …+ 1/8 + 1/16 + ·̲ · ·

The fundamental idea is the base on the formula:

$ a^2 - b^2= (a-b)(a+b) $

$ 1-x^n= (1-x)(1+x+x^2 +x^3 +x4…xn-1) $

For infinity series we have :
11−r=1+r+r2+r3... \frac{1}{1-r}= 1+r+r^2 +r^3 ...1r1=1+r+r2+r3...

So the General Formula would be:
∑rk=r1−r \sum r^k = \frac{r}{1-r} rk=1rr

Then we have the result to be 1+ 1 =2 Beers :

image

Now we can check if Python does a good job with computing the Series.

def SumofGeo(a,r,n):
    sum=0
    i=0
    while i <n:
        sum=sum+a
        a=a*r
        i=i+1
    return sum

SumofGeo(1,1/2,5)
SumofGeo(1,1/2,10)
SumofGeo(1,1/2,100)

Python Output:

Out[6]: 1.9375

Out[7]: 1.998046875

Out[8]: 2.0

As we can see when n=5, the geometric sum of (1/2)^n is 1.93, when n=10, the sum is 1.99. when n=100, python assumed it is 2. Remember theoretically, it is not 2 yet, the sum is 2 when n approaches infinity!

So the Hot BarTender is smart!!

Cheers and Happy Studying! 🙇‍♀️

References:

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP