এই সমস্যায়, আমরা একটি সংখ্যা n দেওয়া হয়. আমাদের কাজ হল একটি C++ এ 1 থেকে n এর মধ্যে মৌলিক সংখ্যার যোগফল বের করার জন্য একটি প্রোগ্রাম তৈরি করা .
প্রাইম নাম্বার হল সেই সংখ্যা যেগুলোর শুধুমাত্র দুটি ফ্যাক্টর আছে। তারা হল সংখ্যা এবং 1।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক
ইনপুট
n = 15
আউটপুট
41
ব্যাখ্যা
1 থেকে 15 এর মধ্যে মৌলিক সংখ্যা হল 2, 3, 5, 7, 11, 13। সুমি 41।
সমাধান পদ্ধতি
সমস্যা সমাধানের একটি সহজ উপায় হল একটি লুপ ব্যবহার করা এবং প্রতিটি সংখ্যা একটি মৌলিক সংখ্যা কিনা তা পরীক্ষা করা এবং যেগুলি মৌলিক সংখ্যা সেগুলি যোগ করা৷
একটি সংখ্যা i একটি মৌলিক সংখ্যা কিনা তা পরীক্ষা করতে। আমরা i থেকে i/2 লুপ করব। i ভাগ করতে পারে এমন একটি সংখ্যা আছে কিনা তা পরীক্ষা করুন। যদি হ্যাঁ হয়, তাহলে সংখ্যাটি মৌলিক সংখ্যা নয়।
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম
উদাহরণ
#include <iostream> using namespace std; bool isPrime(int n){ for(int i = 2; i < n/2; i++){ if(n%i == 0){ return false; } } return true; } int findPrimeSum(int n){ int sumVal = 0; for(float i = 2; i <= n; i++){ if(isPrime(i)) sumVal += i; } return sumVal; } int main(){ int n = 15; cout<<"The sum of prime number between 1 to "<<n<<" is "<<findPrimeSum(n); return 0; }
আউটপুট
The sum of prime number between 1 to 15 is 45
একটি কার্যকর সমাধান হল মৌলিক সংখ্যা খুঁজে বের করার জন্য ইরাটোস্থেনের চালনি ব্যবহার করা এবং প্রয়োজনীয় যোগফল খুঁজে বের করার জন্য তাদের যোগ করা।
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম
উদাহরণ
#include <iostream> using namespace std; int findPrimeSum(int n){ int arr[n+1] = {0}; for (int i = 2; i < n; i++) { for (int j = i * i; j < n; j+=i) { arr[j - 1] = 1; } } int sumVal; for (int i = 2; i < n; i++) { if (arr[i - 1] == 0) sumVal += i; } return sumVal; } int main(){ int n = 15; cout<<"The sum of prime number between 1 to "<<n<<" is "<<findPrimeSum(n); return 0; }
আউটপুট
The sum of prime number between 1 to 15 is 41