C语言中计算平方根的巴克沙利近似法
巴克沙利近似法是一种计算非完全平方数平方根的方法。现在,让我们回顾一下相关术语,以便更容易理解这个概念。
数字x的平方根是一个满足以下条件的数字:y2 = x.
完全平方数是一个其平方根为整数的数。例如,16是完全平方数,因为它的平方根是4和-4。
数学上定义了多种方法来求一个数的平方根。在本教程中,我们将学习巴克沙利近似法来求一个数的平方根。
这是一种求一个数的近似根的方法。它等同于巴比伦方法的前两步。
工作原理:
巴克沙利近似法的运作方式如下:
我们需要找到数字s的平方根。以下是找到这个近似值所需步骤和计算。
找到数字s最接近的完全平方数,即n2。
求出数字和最接近的完全平方数的差,即d = s - n2.
计算,P = d/(2n).
计算,A = n + P.
s的平方根的近似值为(A - P2 / 2A)。
示例
#include <iostream>
using namespace std;
int main(){
float s = 12.3412;
int perfectSqaure = 0;
int n = 0;
for (int i = static_cast<int>(s); i > 0; i--) {
for (int j = 1; j<i; j++){
if (j*j == i){
perfectSqaure = i;
n = j;
break;
}
}
if (perfectSqaure > 0)
break;
}
float d = s - perfectSqaure;
float P = d/(2.0*n);
float A = n+P;
float rootOfs = A-((P*P)/(2.0*A));
cout<<"The square root of "<<s<<" = "<<rootOfs;
return 0;
}输出
The square root of 12.3412 = 3.51327
现在这个近似平方根非常接近实际根3.51300441。所以,这种方法非常适合求给定数字的近似平方根。这种方法在小数点后几位是正确的,因此我们可以用它来求浮点数的根。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP