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

C++-এ অ্যারেকে এমনভাবে কনভার্ট করা যাতে এর GCD ১ হয়

এই টিউটোরিয়ালে আমরা অ্যারেকে এমনভাবে কনভার্ট করার প্রোগ্রাম নিয়ে আলোচনা করব যাতে এর GCD ১ হয়।

এখানে আমাদের একটি অ্যারে এবং একটি পজিটিভ ইন্টিজার k দেওয়া থাকবে। আমাদের কাজ অ্যারে এলিমেন্টগুলো কনভার্ট করা যাতে এলিমেন্টগুলোর GCD ১ হয় শুধু k দিয়ে ভাগ করে যতক্ষণ না এলিমেন্ট k-এর চেয়ে ছোট হয়।

বাস্তবায়ন

#include <bits/stdc++.h> 
using namespace std; 

// অ্যারের GCD ক্যালকুলেট করা
int calculate_gcd(int* arr, int n) { 
    int gcd = arr[0]; 
    for (int i = 1; i < n; i++) 
        gcd = __gcd(arr[i], gcd); 
    return gcd; 
} 

// অপারেশন সম্ভব কিনা চেক করা
bool convertGcd(int* arr, int n, int k) { 
    int gcd = calculate_gcd(arr, n); 
    int max_prime = 1; 
    for (int i = 2; i <= sqrt(gcd); i++) { 
        while (gcd % i == 0) { 
            gcd /= i; 
            max_prime = max(max_prime, i); 
        } 
    } 
    max_prime = max(max_prime, gcd); 
    return (max_prime <= k); 
} 

int main() { 
    int arr[] = { 10, 15, 30 }; 
    int k = 6; 
    int n = sizeof(arr) / sizeof(arr[0]); 
    if (convertGcd(arr, n, k) == true) 
        cout << "Yes"; 
    else 
        cout << "No"; 
    return 0; 
}

আউটপুট

Yes
  1. অ্যারেতে এমন মৌলিক সংখ্যা K খুঁজে বের করা যাতে (A[i] % K) সর্বোচ্চ হয় C++-তে

  2. C++-এ অ্যারে ব্যালেন্সড (Balanced) করার জন্য যোগ করতে হবে সর্বনিম্ন মান খুঁজে বের করা

  3. C++-এ K-এর গুণিতকের মাঝপথে থাকা অ্যারে এলিমেন্ট সর্ট করা

  4. C++-এ অ্যারেতে ন্যূনতম সংখ্যা যোগ করে যোগফল জোড় করার পদ্ধতি