連分數


連分數法解佩爾方程特解

一、佩爾方程的形式:

二、關於佩爾方程的特解:

         特解是指佩爾方程的最小整數解,容易發現當x最小的時候y也同樣達到最小。在一般情況下,佩爾方程的特解是通過暴利枚舉方法得到的,本文將介紹如何用應用連分數法求特解。

         本文將不涉及證明,只介紹方法。

三、連分數法:

         一個實數的簡單連分數表示,是指將一個實數用以下方法表示:

 

可以把連分數簡記為:

 

有理數的連分數有兩種表示形式:

 

 

所有無限連分數都是無理數,而所有無理數都可以用一種精確的方式表示成無限連分數,可以用這種方法逼近,無理數的值。

四、關於一個非完全平方數的平方根的連分數表示:

可以證明:一個非完全平方數的平方根的連分數是以周期呈現的。

比如:

 

簡寫為:

 

在之后就會循環出現1,2,4,2,1,8

我們不妨這樣記這種連分數的形式:

 

顯然循環節的長度是6

並且還有個重要的特點:這個循環節一定是從開始的,且最后一個數一定是2倍的

五、求解佩爾方程的最小特解:

我們將寫成連分數的形式:

並且我們記:

(關於計算p,q:只要按照連分數的展開形式,迭代計算即可)

其中如果記循環節長度為s

那么有如下結論:

1、如果s為偶數時。最小特解為:

 

2、如果s為奇數時,最小特解為:

 

六、計算

我們希望得到准確的連分數展開,那么關鍵在於不用浮點型計算。接下來以為例,解釋如何計算的連分數。

我們記當前展開為,那么首先

 

 

 

 

按照這種方式,我們計算出了的連分數:

然后可以計算出來:

 

由於循環節長度6是偶數,那么佩爾方程的最小特解是:

之后我們參照上面的例子,來設計計算連分數的算法:

我們記:

那么顯然有:

之后我們可以得到:

可以證明,這里一定是大於0的,這個實際上就是下次的

繼續推導有:

可以證明,分母是可以被整除的。那么上式就可以寫成:

那么容易得到新的b,c是:

還有,結果很大1000以內好多結果都超long long了。。。要改成大數才行。。。

七、關於如何解佩爾方程:

         這個請參考AekdyCoin牛的空間:http://hi.baidu.com/aekdycoin/item/a45f7c37850e5b9db80c03d1

八、代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM