কম্পিউটার

C++ প্রোগ্রাম 'k' খুঁজে বের করার জন্য যাতে প্রতিটি অ্যারের উপাদানের সাথে এর মডুলাস একই থাকে


এই নিবন্ধে, আমরা একটি পূর্ণসংখ্যা 'k' খুঁজে বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব, যেমন একটি প্রদত্ত অ্যারের প্রতিটি উপাদানের সাথে এর মডুলাস একই।

উদাহরণস্বরূপ, ধরুন আমাদের একটি অ্যারে দেওয়া হয়েছে,

arr = {12, 22, 32}

তাহলে আমাদের k =1, 2, 5, 10 এর আউটপুট মান আছে।

অ্যারের দুটি মানের ক্ষেত্রে ধরুন 'x' এবং 'y' (x>y)। তারপর আমাদের আছে (y+পার্থক্য)%k =y%k। এর সমাধান আমরা পাই,

difference%k = 0

সুতরাং, আমরা অ্যারের মধ্যে সর্বাধিক এবং সর্বনিম্ন উপাদানের পার্থক্যের জন্য সমস্ত ভাজক খুঁজে বের করব এবং তারপর প্রতিটি ভাজকের জন্য পরীক্ষা করব যে বাকিটি অ্যারের প্রতিটি উপাদানের জন্য একই কিনা।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
int equal_modulus (int arr[], int len) {
   sort(arr, arr + len);
   int diff = arr[len-1] - arr[0];
   //vector to store all the divisors
   vector <int> divi;
   for (int i = 1; i*i <= diff; i++) {
      if (diff%i == 0) {
         divi.push_back(i);
         if (i != diff/i)
            divi.push_back(diff/i);
      }
   }
   //to check if remainder is equal for every element
   for (int i = 0; i < divi.size(); i++) {
      int temp = arr[0]%divi[i];
      int j;
      for (j = 1; j < len; j++)
         if (arr[j] % divi[i] != temp)
            break;
      //to print the values of k
      if (j == len)
         cout << divi[i] <<" ";
   }
   return 0;
}
int main() {
   int arr[] = {12, 22, 32};
   int len = sizeof(arr)/sizeof(arr[0]);
   cout << "The values of K :" << endl;
   equal_modulus(arr, len);
   return 0;
}

আউটপুট

The values of K :
1 2 10 5

  1. C++-এ অ্যারের প্রতিটি উপাদানের সারপাসার কাউন্ট খুঁজুন

  2. C++ প্রোগ্রাম অনন্য জোড়া খুঁজে বের করার জন্য যাতে প্রতিটি উপাদান N এর থেকে কম বা সমান হয়

  3. অ্যারে পার্টিশন করার পদ্ধতি দ্বারা kth ক্ষুদ্রতম উপাদান খুঁজে বের করার জন্য C++ প্রোগ্রাম

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