大家好,又见面了,我是全栈君。
牛顿迭代法。从一个值開始。用无限逼近的方式得出结果。
#include<stdio.h>
#include<math.h>
int main()
{
double a;
double x;
scanf("%lf",&a);//求a的平方根和立方根
x = a/2;
////平方根/////
while( fabs(x*x-a) > (1e-6) )
{
x = (x+a/x)/2;
}
printf("%lf\n",x);
/////立方根////////////////
x=1;//从1開始。当然也能够从其它数開始
while(fabs(x*x*x-a) > (1e-6) )
{
x = (2*x +a/(x*x))/3;
}
printf("%lf\n",x);
return 0;
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115379.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...