找回密码
 欢迎注册
查看: 7317|回复: 2

[讨论] 用连分式的PQa算法展开(65-Sqrt(44))/37为什么是错误的

[复制链接]
发表于 2011-1-27 11:58:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
本帖最后由 wsc810 于 2011-1-27 16:20 编辑

我展开的结果如下(由于P大于Sqrt(d),将Q,P扩展为负数),结果:[1,1;14,1,1,1,2,1,1,1,12,1,1,1,2,1,1,1]而实际计算和 Mathematica算出的结果为[1,1,1,2;1,2,1,1,1,12,1,1]为什么自己展开的结果是错误的。另外问一下软件是怎样计算的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-1-27 12:32:55 | 显示全部楼层
晕,这也问啊,能回答出来的人都是天才中的天才了。谁知道你是怎么算的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-1-27 17:37:37 | 显示全部楼层
本帖最后由 wsc810 于 2011-1-27 18:08 编辑

楼上,其实没那么复杂,其算法主要是进行迭代运算,有三个重要的公式(数论妙趣上有),分别如下(由于是手机浏览,我在前面没有写出具体计算过程)a为常数等于Sqrt(d)
Q_0=Q
a_0=[(P+a)/Q]
P_0=P
上面为初始值
P_{n+1}=Q_n*a_n-P_n
Q_{n+1}=(d-P_{n+1}^2)/Q_n
a_{n+1}=[(P_{n+1}+a)/Q_{n+1}]
[ *]表示对*取整运算。
下面是我展开的过程
a0=1
P0=65
Q0=37
37*a0 - 65=-28   a0=1
-20*a1-(-28)=8   a1=1
1*a2 -   8=6       a2=14
a2的值错误,为什么,实际为1。以下过程略
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-5 11:12 , Processed in 0.058711 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表