এই সমস্যায়, আমাদের একটি সংখ্যা দেওয়া হয়েছে এবং আমাদের সমস্ত মৌলিক সংখ্যা N এর থেকে কম বা সমান প্রিন্ট করতে হবে।
বিষয়টি আরও ভালোভাবে বোঝার জন্য একটি উদাহরণ নেওয়া যাক -
Input: 10 Output: 2 3 5 7
একটি মৌলিক সংখ্যা একটি সংখ্যা যা শুধুমাত্র একটি এবং সংখ্যা দ্বারা ভাগ করা যায়। উদাহরণ:2, 3.
একটি সহজ পদ্ধতি হল 2 থেকে N পর্যন্ত পুনরাবৃত্তি করা এবং সংখ্যাটিকে এটি দ্বারা ভাগ করা। সংখ্যাটি যদি বিভাজ্য না হয় তবে এটি একটি মৌলিক সংখ্যা। নম্বর প্রিন্ট করুন। সংখ্যাটি N এর সমান না হওয়া পর্যন্ত এটি করুন৷ এই পদ্ধতিটি ততটা কার্যকর নয়৷
৷একটি আরও কার্যকর পদ্ধতি হল 2 থেকে √N.
পুনরাবৃত্তি করে মৌলিক সংখ্যা পরীক্ষা করাউদাহরণ
#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); }
আউটপুট
প্রাইম সংখ্যা 41 এর থেকে কম বা সমান
2 3 5 7 11 13 17 19 23 29 31 37 41