কম্পিউটার টিউটোরিয়াল

সি প্রোগ্রাম: বখশালি সन्नিকর্ষণ (Bakhshali Approximation) দিয়ে বর্গমূল নির্ণয়


বখশালি সন্নিকর্ষণ (Bakhshali approximation) হলো একটি সংখ্যার বর্গমূল নির্ণয়ের পদ্ধতি, যা পূর্ণবর্গ (perfect square) নয়। আগে সম্পর্কিত ধারণাগুলো জানি।

একটি সংখ্যা x-এর বর্গমূল হলো এমন সংখ্যা y যা y² = x শর্ত পূরণ করে।

পূর্ণবর্গ হলো olyan সংখ্যা যার বর্গমূল পূর্ণসংখ্যা হয়। যেমন ১৬ পূর্ণবর্গ কারণ এর বর্গমূল ৪ এবং ৪।

বর্গমূল নির্ণয়ের একাধিক গাণিতিক পদ্ধতি রয়েছে। এই টিউটোরিয়ালে বখশালি সন্নিকর্ষণ দিয়ে বর্গমূল নির্ণয় শিখব।

এটি একটি সংখ্যার সন্নিকৃষ্ট বর্গমূল বের করার পদ্ধতি। এটি বেবিলোনিয়ান পদ্ধতির প্রথম দুটি ধাপের সমতুল্য।

কার্যক্রম:

বখশালি সন্নিকর্ষণ নিচের ধাপে কাজ করে:

একটি সংখ্যা s-এর বর্গমূল বের করতে হবে। নিচের ধাপ ও হিসাবগুলো অনুসরণ করতে হবে:

  • সংখ্যা s-এর নিকটতম পূর্ণবর্গ নির্ণয় করা, অর্থাৎ n²।

  • সंख্যা ও নিকটতম পূর্ণবর্গের পার্থক্য বের করা, অর্থাৎ d = s - n²।

  • গণনা করা, P = d/(2n)।

  • গণনা করা, A = n + P।

  • s-এর সন্নিকৃষ্ট বর্গমূল হবে (A - P² / 2A)।

উদাহরণ

#include <iostream> using namespace std; int main(){    float s = 12.3412;    int perfectSqaure = 0;    int n = 0;    for (int i = static_cast(s); i > 0; i--) {       for (int j = 1; j 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

এই সন্নিকৃষ্ট বর্গমূল প্রকৃত বর্গমূল ৩.৫১৩০০৪৪১-এর খুব কাছাকাছি। তাই এই পদ্ধতি ফ্লোটিং পয়েন্ট মানের বর্গমূল নির্ণয়ের জন্য khá ভালো। কয়েকটি দশমিক স্থান পর্যন্ত এটি সঠিক ফলাফল দেয়।


  1. বাইসেকশন মেথড (Bisection Method) C++ প্রোগ্রাম

  2. C++-এ বর্গক্ষেত্রের এলাকা বের করার প্রোগ্রাম

  3. C++-এ পিরামিডের ভলিউম বের করার প্রোগ্রাম

  4. C++-এ কুইকসর্ট (QuickSort) প্রোগ্রাম