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

C++-এ সিংগেল ডিজিট প্রাইমের মিনিমাম সংখ্যা যাদের সম N সমান


সমস্যা বিবরণ

সিংগেল-ডিজিট প্রাইম নম্বরের মিনিমাম সংখ্যা বের করুন যাদের সম N-এর সমান হবে।

উদাহরণ

যদি N = 9 হয়, তবে ২টি প্রাইম নম্বর দরকার যেমন ৭ এবং ২ যাদের সম ৯ হবে।

উদাহরণ

#include <iostream> 
using namespace std; 

bool isValidIndex(int i, int val) { 
    return (i - val) < 0 ? false : true; 
} 

int getMinPrimes(int n) { 
    int arr[n + 1]; 
    for (int i = 1; i <= n; ++i) { 
        arr[i] = 1000000000L; 
    } 
    arr[0] = arr[2] = arr[3] = arr[5] = arr[7] = 1; 
    for (int i = 1; i <= n; ++i) { 
        if (isValidIndex(i, 2)) { 
            arr[i] = min(arr[i], 1 + arr[i - 2]); 
        } 
        if (isValidIndex(i, 3)) { 
            arr[i] = min(arr[i], 1 + arr[i - 3]); 
        } 
        if (isValidIndex(i, 5)) { 
            arr[i] = min(arr[i], 1 + arr[i - 5]); 
        } 
        if (isValidIndex(i, 7)) { 
            arr[i] = min(arr[i], 1 + arr[i - 7]); 
        } 
    } 
    return arr[n] == 1000000000L ? -1 : arr[n]; 
} 

int main() { 
    int n = 9; 
    int result = getMinPrimes(n); 
    if (result != -1) { 
        cout << "Minimum required primes: " << getMinPrimes(n) << endl; 
    } else { 
        cout << "Not possible to create required sum" << endl; 
    } 
    return 0; 
}

আউটপুট

যখন আপনি উপরের প্রোগ্রাম কম্পাইল ও এক্সিকিউট করবেন। এটি নিচের আউটপুট জেনারেট করবে:

Minimum required primes: 2

  1. C++ ব্যবহার করে বাইনারি স্ট্রিং S তৈরি করতে ন্যূনতম অপারেশন সংখ্যা

  2. C++ ব্যবহার করে দুটি স্ট্রিং সমান করার ন্যূনতম অপারেশন সংখ্যা

  3. C++ ব্যবহার করে একটি সংখ্যার ফ্যাক্টরের ন্যূনতম যোগফল বের করা

  4. C++ প্রোগ্রাম: সংখ্যার ডিজিট যোগফল একক ডিজিট হয় পর্যন্ত