本文主要是介绍平方根立方根,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
平方根
1.二分法
代码如下(示例):
double SQRT_Binary(double n)
{double l = 0, r = n;if(n<0) l=n,r=0;while(l<r){double mid = (l + r) / 2;if(mid * mid > n)//if(mid*mid*mid)>n 立方根//if(mid*mid*mid<E||mid*mid*mid>-E) return mid;小于某个阈值输出//r = mid;else if(mid * mid < n)l = mid;else return mid;}}
2.牛顿迭代法
代码如下(示例):
double SQRT_Newton(double n)
{double x0 = n;double x1;while(1){//x1 = -(x0 * x0 - n) / (2 * x0) + x0;x1 = (x0 * x0 + n) / (2 * x0);//x1=(x0*x0*x0+n)/(3*x0*x0)double val = x1 * x1 - n;if(val <= inf && val >= -inf)return x1;x0 = x1;}return 0;
}
/
这篇关于平方根立方根的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!