在没有计算器的情况下,如何找到22的平方根?

推荐  (0) | 28人关注关注
39个答案
33 3

jerome_cool模拟IC设计工程师

2012-05-28 21:11

如果是平方根,可以用迭代法:X(n+1) = [ 22 / X(n) +X(n) ] / 2
初始值x0=5(近似估一个)
x1 = [ 22/5 + 5 ] / 2 = 4.7
x2 = [ 22/4.7 + 4.7 ] / 2 = 4.690426
x3 = [ 22/4.690426 + 4.690426 ] / 2 = 4.690416
...
原理请参见任何一本数值分析教科书。

17 3

居家旅行,杀人灭口,穿越时空之必备《常用数学用表》

15 1

逆火专业打酱油的

2012-05-29 11:00

用手算,例:100000.先从个位开始把这个数每隔两个就分成一段:10,00,00.从左边开始开平方根。




9 1

那里记得到笔算开方啊,我都是二分法试算。必竟手边没有计算器,没有计算机,还非要开方的时候很少很少。
4*4=16
5*5=25

那么4.5*4.5=20.25……4.5=(4+5)/2
那么4.75*4.75=22.56……4.75=(4.5+5)/2
那么4.625*4.625=21.39……4.625=(4.5+4.75)/2

精度可以要多高有多高,问题是很慢。。

6 0

对于较大的数,最好的方法当然是笔算开平方

不过对于22这样小的数,要求的精度不高的话,以离它最近的整数(对根号22来说是5)为初值按牛顿法的公式(x(n+1)=(S/x(n)+x(n))/2,S为待开平方的数)迭代一次就行,也就是直接把(S/x0+x0)/2当作它的近似值。比如说对于22,(22/5+5)/2=4.7,已经和22的平方根4.69042相当接近了。这个方法的好处是便于口算。
当然,也可以迭代多几次,那就是这个答案里的方法了。

古巴比伦人算平方根的办法跟牛顿法差不多。而古中国人算平方根的办法就有点类似于笔算开平方,不过用的是算筹。

2 0

拉格朗日插值也可以解决
利用x0=4 y0=16 x1=5 y1=25 x2=6 y2=36得
L2(x)=(x-16)*(x-25)/((36-16)*(36-25))*6+(x-16)*(x-36)/((25-16)*(25-36))*5+(x-25)*(x-36)/((16-25)*(16-36))*4
L2(22)=4.6848
果断发现没牛顿迭代的精度好啊……泪奔……或者试试其他的插值点,令x2=4.5 y2=20.25会好一点
L2(22)=4.6914

2 0

使用Vb

Option Explicit
Private Sub Command1_Click()
Dim x&, 22&, b%
x = Val(Text1.Text)
22 = x
b = x / 22 / 22
Do While Abs(22 - b) > 0.00001
22 = (22 + b) / 2
b = x / 22 / 22
Loop
22 = Format(22, "#")
Print x; "的立方根为"; 22
End Sub

哪个高人来看一哈对不

P.S.计算机不算计算器吧......................╰( ̄▽ ̄)╮

1 0
支持者: 三体-海人

牛迭三四次精度应该就差不多了。。

@牛顿迭代法

1 0
1 0
支持者: 拼音佳佳

以前想练习诸如心算一类的东西,后来发现没有任何用处。

0 0

锥生零采矿助理工程师

2012-05-28 22:35

笔算开平方一点也不难,可以百度一下

0 0

果断笔算…
话说高中的某天俺从笔算开平方根和开立方根推广到开四次方根然后兴冲冲地找同学比赛,结果他连开两次平方根在速度上完胜…

0 0

达达杀猪店老板多功能便携式工学硕士,梦想家

2012-05-31 11:07

没有计算器老师还出这种题目,老师不安好心!

0 0

lemonade._.二战爱好者 VB初阶 好奇世界

2012-06-02 15:16

还有个东西叫做:手动二分法

0 0

非零解计算机专业的杂学者

2013-08-17 15:35

这些不考的东西很少有人学了。想起阿西莫夫一篇小说来。

0 0

数学用表来查.开n次方就用对数表来算.

0 0

我记得我那时候念书中的时候 初二的数学书上有教你手算的,上边好多人都给了,,,

0 0

托马斯_豆第三类医学生

2013-08-18 14:12

如果是像我一样只会笔算四则运算的渣:

5^2 = 25 >22
4^2 = 16 <22
(4+5)/2 = 4.5,4.5^2 = 20.25 <22
(5+4.5)/2 = 4.75,4.75^2 = 22.5625 >22
(4.5+4.75)/2 = 4.625,4.625^2 = 21.390625 <22
(4.75+4.625)/2 = 4.6875,4.6875^2 = 21.97265625 <22
(4.75+4.6875)/2 = 4.71875,4.71875^2 = 22.2666015625 >22
(4.6875+4.71875)/2 = 4.703125,4.703125^2 = 22.119384765625 >22
(4.6875+4.703125)/2 = 4.6953125,4.6953125^2 = 22.04595947265625 >22
(4.6875+4.6953125)/2 = 4.69140625,4.69140625^2 = 22.0092926025390625 >22
(4.6875+4.69140625)/2 = 4.689453125, 4.689453125^2 = 21.990970611572265625 <22
(4.69140625+4.689453125)/2 = 4.6904296875,4.6904296875^2 = 22.00013065338134765625 >22
……
如果要求精确到3位小数,上面的步骤就够了;还不够?继续…
话说真的灰常慢!即使我用计算器作弊(仅利用其加减乘除功能)

0 0

笔算开平方还好,开立方的话会更麻烦一些。

0 0

22=16*1.21*x;分解22
x=1.1363636...;剩下的因子接近于1
a=0.5*(x-1);
y<n+1>=1;整数n可以为任意正整数,越大精度越高
y<n>=1-a*(2*n-1)/(n+1)*y<n+1>;从后往前迭代
...;
y<0>=sqrt(x);一直到n=0,即为因子x的近似平方根
sqrt(22)=4*1.1*y<0>;结果

0 0

WeifengChiu理论物理博士(在读)

2013-08-18 16:32

我想楼主还是想要方便快速的方法,楼上很多,说起来轻松,要真笔 算试试看……
口算或简单的笔算还是泰勒展开好些
就说22吧,口算就知道4.5^2=20.25,5^2=25,22在中间,猜一个4.7,口算下,20.25+2x4.5x0.2+0.04=22.09,所以,22^(1/2)=(22.09-0.09)^(1/2)=4.7x(1-0.09/22)^(1/2)=4.7x(1-(1/2)x(0.09/22.09)),接着才需要拿起笔,得到4.690426,并且,想一下就知道这个结果是偏大的,大概是(3/4)x(0.09/22.09)^2~(3/8)x0.004^2~1x10^-5。
加起来用不了三分钟……

0 0

我想说,你带手机了吗?

你应该带手机了吧。现在应该都是智能手机了吧。

为毛,你不下载一个数学计算器啊。。。。。。。。。。。

0 0

以前上高中的时候由手算开平方、二项式展开式得到启发,发现了手算开n次方的方法(当然n是正整数),把一个数看成是10a+b的形式,那它的n次方就(10a+b)^n=(10a)^n+C(n,1)(10a)^(n-1)b+.....+b^n,被开方的数就是(10a+b)^n,可以看到如果像除法列竖式计算的话,那这个数是可以分成(10a)^n与C(n,1)(10a)^(n-1)b+.....+b^n这两部分,而第一个被开方数数的a是好确定的,问题就在这个求这个b上,C(n,1)(10a)^(n-1)b+.....+b^n=(C(n,1)(10a)^(n-1)+.....+b^(n-1))*b可以看到b可以由被开方数的与第一个数a的n次方的差除以C(n,1)(10a)^(n-1)+.....+b^(n-1)得到。要对一个数开n次方前要先把这个数从小数点处开始,每隔n位进行分位,然后看分位最前的数找10以内最接近的数的n次方,这个数在这个公式里就是a,把a^n写到这个被开方数分位最前的那段下面,划横线,把两数相减得到一个新的数,把后面第二个分位的数拿下来放到这个新的数后面,然后那这个新数去除以C(n,1)(10a)^(n-1)得到一个数,试着把它代入(C(n,1)(10a)^(n-1)+.....+b^(n-1))*b如果比刚那新数小那这个b就是对的,把b这个数写到竖式最上面a那数后面,如果比新数大,那减1再代入,特殊情况就是C(n,1)(10a)^(n-1)都比这个差大,那这个b就是0,依次类推,你想算到多少位就算到多少位,具体可以去参考手算2次方,上面也有人贴图。这方法坏处就是计算量过大,基本算算开2次,3次没什么问题,但3次以上的开起来计算已经是很麻烦了

0 0

225=15^2那么令220=(15-x)^2=225-30x+x^2,取225-30x的话x=1/6,sqrt(220)约为15-(1/6)=89/6,平方以后相差只有x^2即1/36
如果sqrt(10)取3.162的话(这个应该很多人都记得吧)那么:
sqrt(22)=sqrt(220)/sqrt(10)=sqrt(10)*sqrt(220)/10=3.162*8.9/6=4.6903,碰巧很接近(按有效数字顶多到4.690)

2 3

叶精灵误闯Geek领域的旅法师一枚

2012-05-28 22:21
支持者: 旅行者3號 ND4SPD

你们呐,图样图森破。
条件只是没有计算器
我们可以查表。一查不就到了么?
先查2的平方根,再查11的,一乘就有了。

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区