计算根号 数值
答案:2 悬赏:30 手机版
解决时间 2021-04-11 22:19
- 提问者网友:ミ烙印ゝ
- 2021-04-10 22:08
如何计算 根号呢 比如根号2为什么=1.414无限循环呢,这该怎么算呢!
最佳答案
- 五星知识达人网友:山君与见山
- 2021-04-10 22:38
算法1:
假设被开放数为a,如果用sqrt(a)表示根号a 那么((sqrt(x)-sqrt(a/x))^2=0的根就是sqrt(a)
变形得
sqrt(a)=(x+a/x)/2
所以你只需设置一个约等于(x+a/x)/2的初始值,代入上面公式,可以得到一个更加近似的值,再将它代入,就得到一个更加精确的值……依此方法,最后得到一个足够精度的(x+a/x)/2的值。
如:计算sqrt(5)
设初值为2
1)sqrt(5)=(2+5/2)/2=2.25
2)sqrt(5)=(2.25+5/2.25)/2=2.236111
3)sqrt(5)=(2.236111+5/2.236111)/2=2.236068
这三步所得的结果和sqrt(5)相差已经小于0.001
或者可以用二分法:
设f(x)=x^2-a
那么sqrt(a)就是f(x)=0的根。
你可以先找两个正值m,n使f(m)<0,f(n)>0
根据函数的单调性,sqrt(a)就在区间(m,n)间。
然后计算(m+n)/2,计算f((m+n)/2),如果它大于零,那么sqrt(a)就在区间(m,(m+n)/2)之间。
小于零,就在((m+n)/2,n)之间,如果等于零,那么(m+n)/2当然就是sqrt(a)。这样重复几次,你可以把sqrt(a)存在的范围一步步缩小,在最后足够精确的区间内随便取一个值,它就约等于sqrt(a)。
假设被开放数为a,如果用sqrt(a)表示根号a 那么((sqrt(x)-sqrt(a/x))^2=0的根就是sqrt(a)
变形得
sqrt(a)=(x+a/x)/2
所以你只需设置一个约等于(x+a/x)/2的初始值,代入上面公式,可以得到一个更加近似的值,再将它代入,就得到一个更加精确的值……依此方法,最后得到一个足够精度的(x+a/x)/2的值。
如:计算sqrt(5)
设初值为2
1)sqrt(5)=(2+5/2)/2=2.25
2)sqrt(5)=(2.25+5/2.25)/2=2.236111
3)sqrt(5)=(2.236111+5/2.236111)/2=2.236068
这三步所得的结果和sqrt(5)相差已经小于0.001
或者可以用二分法:
设f(x)=x^2-a
那么sqrt(a)就是f(x)=0的根。
你可以先找两个正值m,n使f(m)<0,f(n)>0
根据函数的单调性,sqrt(a)就在区间(m,n)间。
然后计算(m+n)/2,计算f((m+n)/2),如果它大于零,那么sqrt(a)就在区间(m,(m+n)/2)之间。
小于零,就在((m+n)/2,n)之间,如果等于零,那么(m+n)/2当然就是sqrt(a)。这样重复几次,你可以把sqrt(a)存在的范围一步步缩小,在最后足够精确的区间内随便取一个值,它就约等于sqrt(a)。
全部回答
- 1楼网友:封刀令
- 2021-04-10 23:01
根号2等于1.414 3次根号3等于1.442 4次根号4是1.414 5次根号5是1.380 6次根号6是1.348 7次根号7是1.320 8次根号8是1.297
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯