无心人 发表于 2010-8-23 15:31:13

${920 + 8976*sqrt(106)} / 29709 = 3.1415926535897982$

无心人 发表于 2010-8-23 15:34:17

${3323 + 5904*sqrt(186)}/26688 = 3.1415926535897966$

${8098 + 14040*sqrt(53)}/35113 = 3.1415926535897951$

无心人 发表于 2010-8-23 15:46:47

双精度的pi的值的精度没写太高,重新写到
3.1415 92653 58979 323846
重新算了
不过仅凭机器内置双精度运算最多得到1e-18的结果
难道要动用mpfr么?

hujunhua 发表于 2010-8-23 16:46:01

凡是根号内含平方因子的,都按作弊论!:lol

无心人 发表于 2010-8-23 17:02:35

呃, 没注意
不改了,呵呵

继续贴

wayne 发表于 2010-8-23 17:07:58

19# 没——问题
it's something like this
http://zh.wikipedia.org/zh-cn/林德曼-魏尔斯特拉斯定理

无心人 发表于 2010-8-23 17:08:05

${2978 + 2820*sqrt(645)}/23745$
${5956 + 5640*sqrt(645)}/47490$
${8934 + 8460*sqrt(645)}/71235$
以上三个结果相同,都是
$3.1415926535897940170$
${5482 + 4789*sqrt(1170)}/53887=3.141592653589792593$
最后一个与$\pi$的误差是$6.454*10^{-16}$

无心人 发表于 2010-8-23 17:12:50

终止了,gcc默认的double精度已经超过了
机器显示最后一个误差是0了

无心人 发表于 2010-8-23 17:13:38

不得不用mpfr了

无心人 发表于 2010-8-23 17:17:06

大家有兴趣可以考虑另外一种形式
${a*sqrt(b) + c*sqrt(d)}/e$
页: 1 2 [3] 4 5 6 7 8 9
查看完整版本: 用代数数逼近π