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

বাইনারি সার্চ দিয়ে নির্দিষ্ট প্রিসিশনে বর্গমূল বের করা (C++)

একটি ধনাত্মক সংখ্যা n এবং প্রিসিশন p দেওয়া আছে। বাইনারি সার্চ ব্যবহার করে n-এর বর্গমূল p দশমিক স্থান পর্যন্ত বের করতে হবে। উদাহরণ: n=50, p=3 -> 7.071।

  1. ইন্টিজার পার্ট বাইনারি সার্চ দিয়ে বের করুন (start=0, end=n)।
  2. ফ্র্যাকশনাল পার্টে 0.1 ইনক্রিমেন্ট দিয়ে p প্লেস পর্যন্ত লুপ চালান।

উদাহরণ

#include <iostream>
using namespace std;

float sqrtBinarySearch(int num, int p) {
    int left = 0, right = num, mid;
    float res = 0;
    while (left <= right) {
        mid = (left + right) / 2;
        if (mid * mid == num) { res = mid; break; }
        if (mid * mid < num) { left = mid + 1; res = mid; }
        else right = mid - 1;
    }
    float incr = 0.1;
    for (int i = 0; i < p; i++) {
        while (res * res <= num) res += incr;
        res -= incr;
        incr /= 10;
    }
    return res;
}

int main() {
    int n = 50, p = 3;
    cout << "Square root of " << n << " up to precision " << p << " is: " << sqrtBinarySearch(50, 3);
    return 0;
}

আউটপুট

Square root of 50 up to precision 3 is: 7.071
  1. C++-এ দিয়ে गये পয়েন্ট থেকে সম্ভাব্য কোয়াড্রিল্যাটারেল সংখ্যা বের করুন

  2. C++-এ বাইনারি ট্রির বাম পাতা নোডের যোগফল বের করা

  3. বাইনারি ট্রিতে রুট থেকে নির্দিষ্ট নোডের দূরত্ব বের করা C++-তে

  4. বাইনারি সার্চ ব্যবহার করে অ্যারেতে সর্বাধিক উপাদান খুঁজে বের করার C++ প্রোগ্রাম