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

কমপক্ষে kটি পয়েন্ট বৃত্তের ভিতরে থাকতে হলে ন্যূনতম ব্যাসার্ধ বের করা C++-তে


মনে করুন আমাদের কিছু পয়েন্ট, এবং একটি পূর্ণসংখ্যা k আছে। আমাদের একটি বৃত্তের ন্যূনতম ব্যাসার্ধ বের করতে হবে যার কেন্দ্র (0, 0)-এ আছে এবং যা kটি পয়েন্ট কভার করে। তাই যদি পয়েন্টগুলো হয় (1, 1), (-1, -1), (1, -1), এবং k = 3, তবে ব্যাসার্ধ হবে 2।

এখানে আমরা প্রতিটি পয়েন্ট এবং (0, 0)-এর মধ্যকার ইউক্লিডিয়ান দূরত্ব বের করব, তারপর দূরত্বগুলো সর্ট করব এবং সর্ট করার পর k-তম উপাদানটি রিটার্ন করব।

উদাহরণ

#include <iostream>
#include <algorithm>
using namespace std;

struct point {
    int x, y;
};

int minRadius(int k, point points[], int n) {
    int dist[n];
    for (int i = 0; i < n; i++)
        dist[i] = points[i].x * points[i].x + points[i].y * points[i].y;
    // Sorting the distance
    sort(dist, dist + n);
    return dist[k - 1];
}

int main() {
    int k = 3;
    point points[] = {{1, 1}, {-1, -1}, {1, -1}};
    int n = sizeof(points) / sizeof(points[0]);
    cout << "Minimum radius: " << minRadius(k, points, n) << endl;
}

আউটপুট

Minimum radius: 2

  1. C++-এ একটি বিন্দু প্যারাবোলার ভিতরে, বাইরে নাকি ওপর আছে কিনা তা যাচাই করা

  2. C++-এ একটি বিন্দু এলিপসের ভিতরে, বাইরে নাকি ওপর আছে কিনা তা যাচাই করা

  3. C++-এ একটি বিন্দু বৃত্তের ভিতরে আছে কিনা তা যাচাই করা

  4. C++ প্রোগ্রাম: দোয়া পয়েন্ট কভার করে সেরা ফিট রেক্ট্যাঙ্গল খুঁজে বের করা