未知:數列1——題解

題目描述:
從前有一個數列:
{X0=1;
{Xn=AX(n-1)+B;
小x想知道當n變得無窮大的時候,abs(Xn)是否會變成無窮大。

輸入:
有若干行,每行表示一個測試數據。每行有兩個整數A,B,其中a=A/1e9,b=B/1e9。

輸出:
與輸入行數一致,每行包含小寫的yes或no,其中yes表示Xn無窮大,反之亦然。

樣例輸入
0 1
2000000000 1

樣例輸出
no
yes

————————
並不貼代碼(因爲這是純數學題,代碼都是次要的)
首先經過類比推導出:
Xn=a^n+b((a^n-1)+(a^n-2)+…+a^0);①
①(保證一切合法)通過等比數列轉換得到
Xn=a^n+b((a^n)-1)/(a-1);②
②(保證一切合法)通分得到
Xn=(a+b-1)((a^n)-1)/(a-1)+1;③
觀察①不難發現當b=0且a=1時不成立。
但是當b!=0的時候a=1成立。
觀察③也不難發現a+b-1=0時不成立。
觀察任意式子發現當-1<=a<1時不成立(原理:分數的平方會使得數字越來越小,將會趨近無窮小)。

對代碼僅需要注意一點。
不要按照題面說的將AB除1e9,就算你開double也過不了。

發佈了59 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章