小问题一个,但是需要高手.................

luzhihu 2001-11-22 06:09:19
如何计算指定精度的数,如:2的算术平方根精确到小数点后两位、三位分别是
1.41, 1.414. 如果要求计算出小数点后n(n>=1)位,如何实现。
...全文
172 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Arter 2001-11-23
  • 打赏
  • 举报
回复
sqrt(2)=(1,1,1,1,1,......,1) (连分式)
(1)=1;
(1,1)=1+1/1;
(1,1,1)=1+1/(1+1);
(1,1,1,1)=1+1/(1+1/(1+1));
....
caochao0902 2001-11-23
  • 打赏
  • 举报
回复
恐怕要用模拟手工计算了
而且要用链表
否则位数多了你的任何形式的数据类型都装不下
mathe 2001-11-23
  • 打赏
  • 举报
回复
可以使用公式
x0=1,
x(n)=(x(n-1)^2+2)/(2*x(n-1)) 来计算sqrt(2),(牛顿跌代法)。
你也可以使用
(1-1/2)^(-1/2)的泰勒展开来做,不过可能速度要慢一些。
此外,也可以模拟手工计算平方根的方法,速度还算可以。
luzhihu 2001-11-23
  • 打赏
  • 举报
回复
我在Mathematica4.0中计算任何数到小数点后面10000位都可以。
各位高人,没有功劳有苦劳,下面发分。
luzhihu 2001-11-22
  • 打赏
  • 举报
回复
我是数学科班出身,没有公式。
liqm 2001-11-22
  • 打赏
  • 举报
回复
翻翻高等数学,有公式的
luzhihu 2001-11-22
  • 打赏
  • 举报
回复
我要的是算法,是要求任意的数的值。
luzhihu 2001-11-22
  • 打赏
  • 举报
回复
我要的是算法,是求任意的数的值.
forulong 2001-11-22
  • 打赏
  • 举报
回复
hehe,没想到这么长居然有一千位,错觉,错觉。
yug 2001-11-22
  • 打赏
  • 举报
回复
初中不是学过吗?
brucenan999 2001-11-22
  • 打赏
  • 举报
回复
用楼上的给的数据做一个数组,就行了


哈哈哈哈哈哈
luzhihu 2001-11-22
  • 打赏
  • 举报
回复
有一些数学软件就有此功能,如 mathematica4.0 就可以指定任意计算结果的精度。
wavecheng 2001-11-22
  • 打赏
  • 举报
回复
牛顿叠代公式!
wangqiqi 2001-11-22
  • 打赏
  • 举报
回复
仅仅是 2 的算术平方根倒好算,而一般而言算一个指定精度的无理数是没有特定的算法的。(好象我们中国古代的数学家们甚是精于此道)
frman 2001-11-22
  • 打赏
  • 举报
回复
同意楼上:)
dongmen 2001-11-22
  • 打赏
  • 举报
回复
高精度
zskllj 2001-11-22
  • 打赏
  • 举报
回复
用辗转相除应该可以吧?

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧