परिचय
वर्गमूल ज्ञात करने के लिए बेबीलोनियन विधि संख्यात्मक विधियों में से एक पर आधारित है, जो गैर-रैखिक समीकरणों को हल करने के लिए न्यूटन-रैफसन विधि पर आधारित है।
विचार सरल है, x के एक मनमाने मान से शुरू करके, और y को 1 के रूप में लेकर, हम x और y का औसत निकालकर मूल का अगला सन्निकटन प्राप्त कर सकते हैं। फिर y मान को संख्या / x से अपडेट किया जाएगा।
इनपुट और आउटपुट
इनपुट: एक संख्या: 65 आउटपुट: 65 का वर्गमूल है: 8.06226
एल्गोरिदम
sqRoot(number)
इनपुट: वास्तविक संख्या में संख्या
आउटपुट: दी गई संख्या का वर्गमूल
Begin
x := number
y := 1
precision := 0.000001
जब तक x और y की सापेक्ष त्रुटि > precision, करें
x := (x + y) / 2
y := number / x
done
x लौटाएं
End
उदाहरण (C++ कोड)
#include <iostream>
#include <cmath>
using namespace std;
float sqRoot(float number) {
float x = number, y = 1; // प्रारंभिक अनुमान संख्या और 1 के रूप में
float precision = 0.000001; // परिणाम 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