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

C++-এ প্রাইম নাম্বার অ্যারে থেকে ডুপ্লিকেট মুছে ফেলা

প্রাইম সংখ্যাগুলোর একটি অ্যারে দেওয়া থাকলে, সেখানে থেকে ডুপ্লিকেট উপাদানগুলো মুছে শুধু ইউনিক প্রাইম সংখ্যাগুলো রাখতে হবে।

ইনপুট-১

N = 8, arr[] = {2, 2, 2, 3, 3, 3, 5, 7}

আউটপুট

2 3 5 7

ইনপুট-২

N = 5, arr[] = {3, 2, 7, 5, 5}

আউটপুট

3 2 7 5

সমাধানের পদ্ধতি

একটি ভিজিটেড অ্যারে বা ম্যাপ ব্যবহার করে ডুপ্লিকেট ডিটেক্ট করা যায়।

  • অ্যারে সাইজ N এবং এলিমেন্ট ইনপুট নিন।
  • removeDuplicates(vector<int>& arr, int size) ফাংশন ইউনিক ভেক্টর রিটার্ন করবে।
  • একটি int num[100] = {0} অ্যারে দিয়ে ভিজিটেড ট্র্যাক করুন।
  • প্রতিটি এলিমেন্টের জন্য যদি num[arr[i]] == 0 হয়, তবে 1 করুন এবং ভেক্টরে পুশ করুন।
  • ফলাফলে শুধু ইউনিক প্রাইম সংখ্যাগুলো থাকবে।

উদাহরণ

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

vector<int> removeDuplicates(vector<int> &arr, int size) {
    int num[100] = {0};
    vector<int> vec;
    for (int i = 0; i < size; i++) {
        if (num[arr[i]] == 0) {
            num[arr[i]] = 1;
            vec.push_back(arr[i]);
        }
    }
    return vec;
}

int main() {
    int N = 8;
    vector<int> arr = {2, 2, 2, 3, 3, 3, 5, 7};
    vector<int> ans = removeDuplicates(arr, N);
    for (int x : ans)
        cout << x << " ";
    return 0;
}

আউটপুট

2 3 5 7
  1. C++-তে অ্যারেতে থাকা সব প্রাইম নম্বরের গুণফল বের করা

  2. 1 থেকে N পর্যন্ত অলমোস্ট প্রাইম সংখ্যার সংখ্যা বের করা C++-তে

  3. C++ প্রোগ্রাম: সেগমেন্টেড ছাঁনি বাস্তবায়ন করে নির্দিষ্ট পরিসরের মৌলিক সংখ্যা তৈরি

  4. C++ প্রোগ্রাম: এরাটোস্থেনিসের ছাঁনি বাস্তবায়ন করে নির্দিষ্ট পরিসরের মৌলিক সংখ্যা তৈরি