박샬리 근사치 완전제곱수가 아닌 수의 제곱근을 계산하는 방법입니다. 이제 개념을 쉽게 이해할 수 있도록 브러시 관련 용어를 살펴보겠습니다.
숫자 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인 실제 근에 매우 가깝습니다. 따라서 이 방법은 주어진 수의 대략적인 제곱근을 찾는 데 아주 좋습니다. 몇 곳까지는 이 방법이 정확하므로 부동 소수점 값의 근을 찾는 데 사용할 수 있습니다.