二分法计算平方根
2021-01-20 本文已影响0人
壹顾倾城
/********************************
* 程序名称:二分法计算平方根
* 开发时间:2021-01-19
*******************************/
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
void kaif(double x) {
double jd = 1e-10, //精度
low = 1,
high = x,
mid = (low + high) / 2.0f;
int count = 0;
//cout << fabs(x - mid*mid);
while(fabs(x - mid * mid) > jd) {
if(x - mid * mid > jd) {
low = mid;
} else {
high = mid;
}
mid = (low + high) / 2;
count ++;
}
printf("%.10lf 近似平方根是 %.10lf\n", x, mid);
printf("一共迭代 %d 次。\n", count);
}
//main() star
int main() {
//code here
kaif(2.0f);
kaif(5.0f);
return 0;
}
测试1:
2.0000000000 近似平方根是 1.4142135624
一共迭代 28 次。
5.0000000000 近似平方根是 2.2360679775
一共迭代 33 次。
--------------------------------
Process exited after 0.5106 seconds with return value 0
请按任意键继续. . .