求这个数的23次方根

来看一下大数的计算。n=9 1674 8676 9200 3915 8098 6609 2758 5380 1624 8310 6680 1443 0862 2407 1265 1642 7934 6570 4086 7096 5932 7920 5767 4808 0679 0022 7830 1635 4924 8523 8033 5745 3169 3511 1903 5965 7754 7340 0756 8168 8305 6208 2101 6129 1328 4556 4805 7801 5880 6771。

这是一个201位的10进制整数。现在要求它的23次方根。设根为x。仍然用牛顿下山法。
x ** 23 = n
y= x ** 23 -n
y’= 23 * x **22

迭代式为:
x = x- x/23+ n/(23*x**22)

先估计x的初值,n近似为9.16 * 10**200。

print 200/23;
8
print 200-8*23;
16
print (9.16**(1.0/23) *10.0**(16.0/23));
5.463535

x的初值为8(+1)位数,有效数字为5.463535。简便起见, 取整为
x = 5 0000 0000

func mu23(x) {
t=x;
t*=t;
t*=t; t*=x;
t*=t; t*=x;
t*=t; t*=x;
return t;
}
func new(x, a) {return x-x/23+a*x/mu23(x)/23;}

x= 500000000;
print x;
5 0000 0000
for(i=0; i<10; i++) print x=new(x,n);
6 4544 0115
6 1798 5205
5 9269 7549
5 7089 2637
5 5511 4472
5 4773 2592
5 4640 9383
5 4637 2918
5 4637 2891
5 4637 2891

求得这个数的23次方根为5 4637 2891。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值