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