用Python解中考数学规律题
用Python解中考數學規律題
以下為2018成都市的中考數學真題B卷第23題:
分析:
??一、這是一道常規的找規律考題,一般每年的中考數學都會涉及,根據題的難易程度,位置一般會出現在B卷的第二題,以填空的方式出現。
??二、這一道題在一般的規律題的基礎上加入了兩個點,
????①牽涉到簡單的整式運算。
????②用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次循環遍歷,但著實麻煩,接下來我們用取模(即取余數)的方式來實現以上功能。
?
方法二:
代碼:
# 規律題 # 第一步:將前六項依次存入my_list列表 my_list = ['1/a', '-(a+1)/a', '-a/(a+1)', '-1/(a+1)', '-a-1', 'a'] # 根據目標項數定位到my_list中的對應項 cnt = 0 for i, v in enumerate(my_list):cnt += 1if i == 2018 % 6 - 1:print(v)print('遍歷了{}次'.format(cnt))break效果:
??怎么樣,瞬間省去了2016次運算,而且代碼也精簡了,是不是很酷。
??但我們的計算機可是最不怕辛苦了,而且最擅長的就是重復的去做運算,所以,遇到類似的數學題,我們還可以丟給計算機。
總結
以上是生活随笔為你收集整理的用Python解中考数学规律题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab克里金插值法,克里金(Kri
- 下一篇: python字符串介绍_python字符