表弟:这数学规律题该怎么解决呢?使用Python你会发现很简单
前段時間表弟給我一個數學題目,要我幫他解決。我看了看,換做我以前確實還得花點功夫,現在會python了,我輕松就解決了,先來看看題目是什么吧!
分析:
這里有我自己整理了一套最新的python系統學習教程, 包括從基礎的python腳本到web開發、爬蟲、數據分析、 數據可視化、機器學習等。小編這里推薦加小編的python學習群:895,817, 687這一道題在一般的規律題的基礎上加入了兩個點:
①牽涉到簡單的整式運算。
②用S1,S2,S3,S4,S5…分別來表示每一項,有誤導考生將其與等差等比數列的前n項和中的“Sn”混淆的動機,以增大考題難度。
③單項表達式需要依賴上一項的結果,加大考題難度。
三、常規解題思路:
第一步:根據第一項表達式,分別計算出后面每一項的表達式,直到發現規律。
第二步:分析規律,總結規律,根據規律求出目標項。
具體操作:
一、分別求出前面的每一項:方便找到規律
S1 = 1/a
S2 = -s1-1 = -(1/a)-1 = -(a+1)/a
S3 = 1/s2 = -a/(a+1)
S4 = -s3-1 = a/(a+1) -1 = -1/(a+1) 初見端倪
S5 = 1/s4 = -(a+1) = -a-1 有點意思
S6 = -s5-1 = -(-a-1)-1 = a 若隱若現
S7 = 1/s6 = 1/a 恍然大悟
S8 = …
二、 分析規律
很明顯,第8項為: -(a+1)/a,第9項為: -a/(a+1),第10項為:-1/(a+1),第11項…即后面項的表達式均為前6項的循環。
以此類推,要求出2018項,只需要確定出2018項在循環的過程中處于前六項的哪一項即可。
方法:2018除6再取余,余數為2,則說明循環完若干輪后還落單了兩次,對照前六次中,第二項為-(a+1)/a,故答案即為-(a+1)/a
三、 代碼實現
接下來我們用程序來實現:
方法一:
為了模擬運算2018次,故我們最外層用while實現不停地去循環,while里面則用for遍歷這重復的六個結果。
代碼如下:
效果:
這種方法雖是真實的模擬了2018次循環遍歷,但著實麻煩,接下來我們用取模(即取余數)的方式來實現以上功能。
方法二:
代碼:
效果:
怎么樣,瞬間省去了2016次運算,而且代碼也精簡了,是不是很酷。
但我們的計算機可是最不怕辛苦了,而且最擅長的就是重復的去做運算,所以,遇到類似的數學題,我們還可以丟給計算機。
總結
以上是生活随笔為你收集整理的表弟:这数学规律题该怎么解决呢?使用Python你会发现很简单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员刚结婚3天,老婆疑似骗婚?聊天记录
- 下一篇: 读入一个数列和N值,返回按优先级排序的N