Python之枚举法解数学题
作为初二的学生,数学题总是令我苦恼的问题。尤其是我们这里的预备班考试(即我们这里最好的两所高中提前一年招生,选拔尖子生的考试)将近,我所面对的数学题越发令人头疼。
创新互联专注于企业营销型网站、网站重做改版、盐山网站定制设计、自适应品牌网站建设、成都h5网站建设、购物商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为盐山等各大城市提供网站开发制作服务。
这不,麻烦来了:
如图,在正方形ABCD中,E在射线BC上,连接AE、CE,则DE/AE的最小值为________.
拿到这题,信心满满的我从容淡定地设AB:CE为1:x,即AB=k,CE=xk,于是原式(设为y)=[k^2+(xk)^2]^0.5/[k^2+(k+xk)^2]^0.5(这里的“^”代表乘方)。这不就只要求[k^2+(xk)^2]/[k^2+(k+xk)^2]的最小值嘛!这是一个求代数式最小值的问题。
可是……越看越不对劲。这个代数式是个分式,而我们常接触的同类型题涉及的都只是整式。凭着我对六本初中数学书的印象,我不禁提出疑问:这真的是初中的内容吗?书上似乎只字未提吧?
但是,本着埋头苦干的老黄牛精神,我就在那里毫无结果地和这道题目耗了几个小时。最终,我放弃了。
但也许是梦里来的灵感,第二天早上,我突然想到:何不通过一个Python程序来逐个列举,从中选择近似值呢?
于是,第一个程序出来了:
k=1 answer=100 myx=0 for x in range(10): y=(k**2+(x*k)**2)**0.5/(k**2+(k+x*k)**2)**0.5 if y<answer: answer=y myx=x print(answer,myx)
网站栏目:Python之枚举法解数学题
链接地址:http://myzitong.com/article/dsoggps.html