该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有三种算法:
1,欧几里得辗转相除法。
2,开方算法。
3,求素数的埃拉托塞尼筛法。
其中3,已经解决,参见百度百科:素数普遍公式。
其中2: 开立方公式:
设A = X^3,求X.称为开立方。 开立方有一个标准的公式:
X(n+1)=Xn+(A/X^2-Xn)1/3 (n,n+1是下角标)
例如,A=5,k=3,即求
5介于1的3次方;至2的3次方;之间(1的3次方=1,2的3次方=8)
初始值X0可以取1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,都可以。例如我们取X0 = 1.9按照公式:
第一步:X1=1.9+(5/1.9^2;-1.9)1/3=1.7。
即5/1.9×1.9=1.3850416,1.3850416-1.9=-0.5149584,-0.5149584×1/3=-0.1716528,1.9+(-0.1716528)=1.7。即取2位数值,,即1.7。
第二步:X2=1.7+(5/1.7^2;-1.7)1/3=1.71。
即5/1.7×1.7=1.73010,1.73-1.7=0.03,0.03×1/3=0.01,1.7+0.01=1.71。取3位数,比前面多取一位数。
第三步:X3=1.71+(5/1.71^2;-1.71)1/3=1.709.
第四步:X4=1.709+(5/1.709^2;-1.709)1/3=1.7099
这种方法可以自动调节,第一步与第三步取值偏大,但是计算出来以后输出值会自动转小;第二步,第四步输入值
偏小,输出值自动转大。即5=1.7099^3;
当然初始值X0也可以取1.1,1.2,1.3,。。。1.8,1.9中的任何一个,都是X1 = 1.7 > 。当然,我们在实际中初始值最好采用中间值,即1.5。 1.5+(5/1.5²-1.5)1/3=1.7。
如果用这个公式开平方,只需将3改成2,2改成1。即
X(n + 1) = Xn + (A / Xn − Xn)1 / 2.
例如,A=5:
5介于2的平方至3的平方;之间。我们取初始值2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9都可以,我们最好取 中间值2.5。 第一步:2.5+(5/2.5-2.5)1/2=2.2;
即5/2.5=2,2-2.5=-0.5,-0.5×1/2=-0.25,2.5+(-0.25)=2.25,取2位数2.2。
第二步:2.2+(5/2.2-2.2)1/2=2.23;
即5/2.2=2.272,2.272-2.2=-0.072,-0.072×1/2=-0.036,2.2+0.036=2.23。取3位数。
第三步:2.23+(5/2.23-2.23)1/2=2.236。
即5/2.23=2.242,2.242-2.23=0.012,0.012×1/2=0.006,2.23+0.006=2.236.
每一步多取一位数。这个方法又叫反馈开方,即使你输入一个错误的数值,也没有关系,输出值会自动调节,接近准确值。
关于这个方法的说明;1980年王晓明利用牛顿二项式推出这个公式,找到江西师范大学,一位教授觉得面熟,当场又推演一遍,与牛顿切线法一样。辽宁鞍山的傅钟鹏在他的《数学雅典娜》一书中介绍,天津新蕾出版社。由于是牛顿的公式,作者王晓明不敢贪天之功。所以傅钟鹏老师在文章介绍也明确说明是由牛顿切线法推出。