কম্পিউটার

C++ প্রোগ্রামে নিয়মিত N পার্শ্বযুক্ত বহুভুজে তৃতীয় ব্যক্তির অবস্থান নির্ধারণ করুন


এই টিউটোরিয়ালে, আমরা শিখতে যাচ্ছি কিভাবে নিয়মিত N-পার্শ্বযুক্ত বহুভুজে তৃতীয় ব্যক্তির অবস্থান খুঁজে বের করতে হয়।

আমরা একটি নিয়মিত N- পার্শ্বযুক্ত বহুভুজ দিয়েছি। এবং ইতিমধ্যে দুটি ভিন্ন পয়েন্টে দুই ব্যক্তি আছে। আমাদের কাজ হল তৃতীয় ব্যক্তিকে বসানোর জন্য তৃতীয় পয়েন্টটি খুঁজে বের করা যাতে প্রথম দুই ব্যক্তি এবং তৃতীয় ব্যক্তির মধ্যে দূরত্ব কম হয়।

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • N এবং দুটি বিন্দু A এবং B শুরু করুন।

  • তৃতীয় ব্যক্তির অবস্থান শুরু করুন, এবং অবস্থান খুঁজে পেতে সর্বনিম্ন যোগফল।

  • 1 থেকে N.

    পর্যন্ত পুনরাবৃত্তি করুন
    • যদি বর্তমান অবস্থান A বা B হয়, তাহলে এটি এড়িয়ে যান।

    • বর্তমান অবস্থান এবং A, B.

      এর মধ্যে পরম পার্থক্যের যোগফল নির্ণয় করুন
    • ন্যূনতম যোগফলের সাথে এটি তুলনা করুন।

    • যদি বর্তমান যোগফল ন্যূনতম যোগফলের চেয়ে কম হয়, তাহলে অবস্থান এবং সর্বনিম্ন যোগফল আপডেট করুন।

  • তৃতীয় ব্যক্তির অবস্থান প্রিন্ট করুন।

উদাহরণ

আসুন কোডটি দেখি।

#include <bits/stdc++.h>
using namespace std;
int findThirdPersonStandingVertex(int N, int A, int B) {
   int position = 0;
   int minimum_sum = INT_MAX, sum;
   for (int i = 1; i <= N; i++) {
      // skipping the predefined vertices
      if (i == A || i == B) {
         continue;
      }
      else {
         // length between the current vertext to A and B
         sum = abs(i - A) + abs(i - B);
         // checking whether the current sum is less than previous sum
         if (sum < minimum_sum) {
            // updating the minimum sum and position of vertext
            minimum_sum = sum;
            position = i;
         }
      }
   }
   return position;
}
int main() {
   int N = 7, A = 5, B = 7;
   cout << "Vertex: " << findThirdPersonStandingVertex(N, A, B) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

Vertex: 6

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. C++ এ গভীরতম নোডের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম

  2. C++ এ বাইনারি গাছের ডান পাতার যোগফল খুঁজে বের করার প্রোগ্রাম

  3. আপডেট ছাড়াই রেঞ্জ সমষ্টি প্রশ্নের জন্য C++ প্রোগ্রাম?

  4. একটি প্রদত্ত সংখ্যার সংখ্যা যোগ করার জন্য C++ প্রোগ্রাম