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

C++-এ সিঙ্গলি লিংকড লিস্ট-এ ন্যূনতম এবং সর্বোচ্চ প্রাইম নম্বর বের করা

সমস্যা বিবরণ

n পজিটিভ ইন্টিজারের একটি লিংকড লিস্ট দেওয়া আছে। আমাদের ন্যূনতম এবং সর্বোচ্চ মান বিশিষ্ট প্রাইম নম্বর বের করতে হবে।

যদি দিয়ে गये লিস্টটি হয় -

10 -> 4 -> 1 -> 12 -> 13 -> 7 -> 6 -> 2 -> 27 -> 33
তবে ন্যূনতম প্রাইম নম্বর হল 2 এবং সর্বোচ্চ প্রাইম নম্বর হল 13

অ্যালগরিদম

1. দিয়ে गये নম্বর গুলো থেকে সর্বোচ্চ নম্বর বের করো। এটাকে maxNumber বলব।
2. ১ থেকে maxNumber পর্যন্ত প্রাইম নম্বর জেনারেট করো এবং সেগুলো একটি ডাইনামিক অ্যারেতে স্টোর করো।
3. লিংকড লিস্ট ইটারেট করো এবং ডাইনামিক অ্যারে ব্যবহার করে ন্যূনতম এবং সর্বোচ্চ মান বিশিষ্ট প্রাইম নম্বর বের করো।

উদাহরণ (C++ কোড)

#include <iostream>
#include <vector>
#include <climits>
#include <algorithm>
#include <list>
#define SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
using namespace std;

void printMinAndMaxPrimes(list<int> intList) {
    int maxNumber = *max_element(intList.begin(), intList.end());
    vector<bool> primes(maxNumber + 1, true);
    primes[0] = primes[1] = false;
    for (int p = 2; p * p <= maxNumber; ++p) {
        if (primes[p]) {
            for (int i = p * 2; i <= maxNumber; i += p) {
                primes[i] = false;
            }
        }
    }
    int minPrime = INT_MAX;
    int maxPrime = INT_MIN;
    for (auto it = intList.begin(); it != intList.end(); ++it) {
        if (primes[*it]) {
            minPrime = min(minPrime, *it);
            maxPrime = max(maxPrime, *it);
        }
    }
    cout << "Prime number of min value = " << minPrime << "\n";
    cout << "Prime number of max value = " << maxPrime << "\n";
}

int main() {
    int arr[] = {10, 4, 1, 12, 13, 7, 6, 2, 27, 33};
    list<int> intList(arr, arr + SIZE(arr));
    printMinAndMaxPrimes(intList);
    return 0;
}

আউটপুট

Prime number of min value = 2
Prime number of max value = 13
  1. C++-তে লিংকড লিস্ট থেকে K দিয়ে বিভাজ্য সর্বোচ্চ ও ন্যূনতম এলিমেন্ট বের করা

  2. সি++-এ সিঙ্গলি লিংকড লিস্টের প্রাইম নোডগুলোর গুণফল বের করার প্রোগ্রাম

  3. C++-এ সিংলি লিংকড লিস্টে অল্টারনেট ওড-ইভেন নোড সাজানো

  4. সিংলি লিঙ্কড লিস্ট বাস্তবায়নের C++ প্রোগ্রাম