求 大数开平方的算法?

BUF 2002-06-04 01:39:23
请各位兄台指教
...全文
649 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
pipi_jf 2002-06-07
  • 打赏
  • 举报
回复
牛顿迭代法:
x(n+1)=(x(n)+c/x(n))/2
其中:c是你要开方的数,
编程求上述递推公式可求得解
pipi_jf 2002-06-07
  • 打赏
  • 举报
回复
源程序如下:

#include <iostream.h>
void main()
{
const double a=10000000000;
double x[20];
x[0]=1;
for (int i=0;i<20;i++)
{
x[i+1]=(x[i]+(a/x[i]))/2;
}
cout << x[20] <<endl;
}
ninenine 2002-06-06
  • 打赏
  • 举报
回复
n和X是什么?
NewStarSE 2002-06-06
  • 打赏
  • 举报
回复
求A的平方根的迭代公式为:
X(n+1)=1/2*(Xn+A/Xn)
Dozemin 2002-06-06
  • 打赏
  • 举报
回复
反正我是使用的手动开平方的方法写过,高阶的没做过
imagex 2002-06-06
  • 打赏
  • 举报
回复
你最好去饿补一下
imagex 2002-06-06
  • 打赏
  • 举报
回复
手算开根号的方法,初中就学过,可惜忘了,哎~~~.
imagex 2002-06-06
  • 打赏
  • 举报
回复
大数相乘会做吗?应该不难吧!编一个这样的函数,然后可以根据你给的数字确定开根号后的值的范围,循环验证即可.相当耗资源,不过是个简单的方法,很容易编出来,不过不知道执行起来到底有多慢!
zzwu 2002-06-06
  • 打赏
  • 举报
回复
对不起,又要纠错了:

4.设q2为n的第2位商,则q2必须同时满足:

应改为:

4.设q2为n的第2位方根,则q2必须同时满足:
zzwu 2002-06-06
  • 打赏
  • 举报
回复

求 n=2787382978484930394875950483728944950409503 的平方根:

1.将 n=2787382978484930394875950483728944950409503 从右到左、2位2位地进行分段:
2,78,73,82,97,84,84,93,03,94,87,59,50,48,37,28,94,49,50,40,95,03

2.求出最高一段(即2)所含的整数方根,得q1=1;所以n的平方根的最高位是1

3.把n减去q1的平方,再把剩下的最高位移到下一段(第二段),这样,第二段成了178。

4.设q2为n的第2位商,则q2必须同时满足:
(20*q1+q2)*q2 <= 178
(20*q1+(q2+1))*(q2+1)> 178
2个条件。

因q1=1,若q2=6,则
(20*q1+q2)* q2 = 26*6 = 156 <= 178
(20*q1+(q2+1))*(q2+1)= 27*7 = 189 > 178
这样就可算出 q2=6

依此类推,就可算出n的方根的第3、第4、....第n位数值来。



topmint 2002-06-06
  • 打赏
  • 举报
回复
<<计算机代数学>>里好像有,你去看看
BUF 2002-06-06
  • 打赏
  • 举报
回复
我觉得用尝试,逼近的方法比较好
be1bing 2002-06-05
  • 打赏
  • 举报
回复
自己去看吧
http://numbers.computation.free.fr/Constants/Algorithms/inverse.html

ninenine 2002-06-04
  • 打赏
  • 举报
回复
我也不很清楚。
ninenine 2002-06-04
  • 打赏
  • 举报
回复
牛顿迭代
ninenine 2002-06-04
  • 打赏
  • 举报
回复
请教牛顿迭代。
one_add_one 2002-06-04
  • 打赏
  • 举报
回复
模拟手算开平方
whl760315 2002-06-04
  • 打赏
  • 举报
回复
TO:starfish(海星)大哥,能说清楚点模拟手算开根号的方法吗?
starfish 2002-06-04
  • 打赏
  • 举报
回复
模拟手算开根号的方法就可以了
BUF 2002-06-04
  • 打赏
  • 举报
回复
能说详细点吗?
比如说:求2787382978484930394875950483728944950409503 的平方根,怎么做?

33,010

社区成员

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

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