Bakhshali逼近是一种计算不是理想平方的数字平方根的方法。现在,让与画笔相关的术语轻松理解该概念。
x的平方根是满足以下条件的数字y 2 = x。
完美平方是一个平方根为w的数字。例如16是完美正方形,因为其根是4和4。
数学上定义了多种方法来查找数字的平方根。在本教程中,我们将学习有关Bakhshali逼近的知识,以找到数字的平方根。
这是一种找到数字的近似根的方法。它等效于巴比伦方法的前两个步骤。
工作-
Bakhshali逼近的工作方式如下:
我们必须找到数字s的平方根。以下是找到此近似值所需执行的步骤和计算。
找出数字s的最接近的完美平方,即n 2。
求出数与最接近的完美平方之差,即d = s-n 2。
计算,P = d /(2n)。
计算,A = n +P。
s的平方根的近似值为(A-P 2 / 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。因此,该方法非常适合查找给定数字的近似平方根。该方法在很多地方都是正确的,因此我们可以使用它来找到浮点值的根。