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

N-এর চেয়ে ছোট বা সমান সব প্রাইম নম্বর প্রিন্ট করা C++-তে


এই সমস্যায়, একটি সংখ্যা N দেওয়া থাকে এবং N-এর চেয়ে ছোট বা সমান সব প্রাইম নম্বর প্রিন্ট করতে হবে।

উদাহরণ দিয়ে বুঝি:

ইনপুট: 10 আউটপুট: 2 3 5 7

প্রাইম নম্বর হলো এমন একটি সংখ্যা যা শুধু ১ এবং নিজে দিয়ে বিভাজ্য। উদাহরণ: ২, ৩।

একটি সহজ পদ্ধতি হলো ২ থেকে N পর্যন্ত ইটারেট করে সংখ্যাটিকে সেগুলো দিয়ে ভাগ করা। যদি সংখ্যাটি বিভাজ্য না হয়, তবে সেটি প্রাইম নম্বর। সেটি প্রিন্ট করুন। N-এর সমান পর্যন্ত এটি করুন। এই পদ্ধতিটি খুব দক্ষ নয়।

একটি আরও কার্যকর পদ্ধতি হবে প্রাইম নম্বর চেক করার জন্য ২ থেকে √N পর্যন্ত ইটারেট করা।

C++ উদাহরণ

#include <bits/stdc++.h> using namespace std; bool isPrimeNumber(int n){ if (n <= 1) return false; if (n <= 3) return true; if (n % 2 == 0 || n % 3 == 0) return false; for (int i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return false; return true; } void printPrime(int n){ for (int i = 2; i <= n; i++) { if (isPrimeNumber(i)) cout<<i<<" "; } } int main(){ int n = 41; cout<<"Prime numbers less than or equal to "<<n<<" are \n"; printPrime(n); }

আউটপুট

৪১-এর চেয়ে ছোট বা সমান প্রাইম নম্বরগুলো হলো:

2 3 5 7 11 13 17 19 23 29 31 37 41
  1. C++-তে অ্যারেতে থাকা সব প্রাইম নম্বরের গুণফল বের করা

  2. C++-এ মিন হিপে নির্দিষ্ট মান x থেকে ছোট সব নোড প্রিন্ট করা

  3. C++-এ Y-র চেয়ে ছোট নম্বর দিয়ে মিনিমাম সেট বের করা

  4. C++ ব্যবহার করে n-র চেয়ে ছোট বা সমান সব ফ্যাক্টোরিয়াল নম্বর বের করা