巴比倫方法求平方根
巴比倫求平方根的方法基於一種數值方法,該方法基於牛頓-拉夫森法求解非線性方程。
這個想法很簡單,從 x 的任意值和 y 為 1 開始,我們只需透過求 x 和 y 的平均值來得到根的下一個近似值。然後用 數字 / x 更新 y 值。
輸入和輸出
Input: A number: 65 Output: The square root of 65 is: 8.06226
演算法
sqRoot(number)
輸入: 實數。
輸出: 給定數的平方根。
Begin x := number y := 1 precision := 0.000001 while relative error of x and y > precision, do x := (x+y) / 2 y := number / x done return x End
示例
#include<iostream>
#include<cmath>
using namespace std;
float sqRoot(float number) {
float x = number, y = 1; //initial guess as number and 1
float precision = 0.000001; //the result is correct upto 0.000001
while(abs(x - y)/abs(x) > precision) {
x = (x + y)/2;
y = number/x;
}
return x;
}
int main() {
int n;
cout << "Enter Number to find square root: "; cin >> n;
cout << "The square root of " << n <<" is: " << sqRoot(n);
}輸出
Enter Number to find square root: 65 The square root of 65 is: 8.06226
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP