কম্পিউটার

ন্যূনতম ব্যাসার্ধ খুঁজে বের করুন যাতে কমপক্ষে k বিন্দু C++ এ বৃত্তের ভিতরে থাকে


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

এখানে আমরা প্রতিটি বিন্দু এবং (0, 0) এর মধ্যে ইউক্লিডীয় দূরত্ব খুঁজে পাব, তারপর দূরত্বগুলি বাছাই করব এবং বাছাই করার পরে kth উপাদান ফেরত দেব।

উদাহরণ

#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++ প্রোগ্রাম