কম্পিউটার

C++ এ ভাজকের তালিকা থেকে A এবং B খুঁজুন


এই টিউটোরিয়ালে, আমরা নিচের সমস্যার সমাধান করতে যাচ্ছি।

পূর্ণসংখ্যার একটি অ্যারে দেওয়া হলে, আমাদের দুটি সংখ্যা A এবং B খুঁজে বের করতে হবে। অ্যারের বাকি সমস্ত সংখ্যা A এবং B এর ভাজক।

যদি একটি সংখ্যা A এবং B উভয়েরই ভাজক হয়, তাহলে এটি অ্যারেতে দুইবার উপস্থিত হবে।

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

  • অ্যারের সর্বাধিক সংখ্যা হল A এবং B থেকে আসা সংখ্যাগুলির মধ্যে একটি৷ ধরা যাক এটি A৷

  • এখন, B হবে দ্বিতীয়-বৃহত্তর সংখ্যা বা সংখ্যা যা A-এর ভাজক নয়।

উদাহরণ

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

#include <bits/stdc++.h>
using namespace std;
void findTheDivisors(int arr[], int n) {
   sort(arr, arr + n);
   int A = arr[n - 1], B = -1;
   for (int i = n - 2; i > -1; i--) {
      if (A % arr[i] != 0) {
         B = arr[i];
         break;
      }
      if (i - 1 >= 0 && arr[i] == arr[i - 1]) {
         B = arr[i];
         break;
      }
   }
   cout << "A = " << A << ", B = " << B << endl;
}
int main() {
   int arr[] = { 3, 2, 3, 4, 12, 6, 1, 1, 2, 6 };
   findTheDivisors(arr, 10);
   return 0;
}

আউটপুট

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

A = 12, B = 6

উপসংহার

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


  1. C++ এ 2D ম্যাট্রিক্স থেকে একটি লিঙ্ক করা তালিকা তৈরি করুন

  2. Gcd(a^n, c) খুঁজুন যেখানে a, n এবং c C++ এ 1 থেকে 10^9 পর্যন্ত পরিবর্তিত হতে পারে

  3. C++ এ প্রদত্ত লাভের শতাংশ এবং খরচ থেকে বিক্রয় মূল্য খুঁজুন

  4. C++ এ এককভাবে সার্কুলার লিঙ্কড তালিকায় সর্বনিম্ন এবং সর্বোচ্চ উপাদান খুঁজুন