开根运算的代码实现()

问题为x^0.5=X;x为非负实数。

 

一、运用牛顿迭代法

两边平方移项得 X^2-x=0,可以用牛顿迭代法求解二元一次方程的根

#include
#includedouble func(double x,double c) //要求解的函数方程{return x*x-c;}double func1(double x) //导函数{return 2*x;}int Newton(double *x, double precision, int maxcyc,double c)//maxcyc 最大迭代次数,c被开方数{double x1, x0;int k;x0 = *x;for (k = 0; k < maxcyc; k++){if (func1(x0) == 0.0){printf("迭代过程中导数为0\n");return 0;}x1 = x0 - func(x0,c) / func1(x0);if (fabs(x1 - x0) < precision || fabs(func(x1,c)) < precision)//达到设定的精度{*x = x1;return 1;}elsex0 = x1; //准备下次迭代}printf("迭代次数超过预期!\n"); //迭代次数达到,仍没有达到精度return 0;}int main(){double x, precision,c;int maxcyc;printf("输入被开方数");scanf("%lf",&c); printf(


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部