- 注册时间
 - 2009-4-27
 
- 最后登录
 - 1970-1-1
 
- 威望
 -  星
 
- 金币
 -  枚
 
- 贡献
 -  分
 
- 经验
 -  点
 
- 鲜花
 -  朵
 
- 魅力
 -  点
 
- 上传
 -  次
 
- 下载
 -  次
 
- 积分
 - 3513
 
- 在线时间
 -  小时
 
 
 
 
 
 
 | 
 
 楼主 |
发表于 2021-7-15 09:42:06
|
显示全部楼层
 
 
 
参考代码 
 
- Clear[test, x, a, f, t]
 
 - d = 4993; pell = 65; p = 1; q = 2;
 
 - x[p_, q_] := (p + Sqrt[d])/q;
 
 - a[p_, q_] := IntegerPart[x[p, q]];
 
 - t = 1/(x[p, q] - a[p, q]);
 
 - f[{_, {i_, p_, q_}}] := {{i, p, q}, {i + 1, q a[p, q] - p, (d - (q a[p, q] - p)^2)/q}}
 
 - test[{_, {i_, p_, q_}}] := (x[p, q] != t && p != pell) || i == 1
 
 - First@NestWhile[f, {Null, {0, p, q}}, test] // AbsoluteTiming
 
 
  复制代码 |   
 
 
 
 |