এই সমস্যায় একটি সংখ্যা n দেওয়া আছে। এর প্রাইমোরিয়াল নম্বর প্রিন্ট করতে হবে।
প্রাইমোরিয়াল নম্বর (Pn#) হলো প্রথম nটি প্রাইম নম্বরের গুণফল। ফ্যাক্টোরিয়ালের মতোই, পার্থক্য হলো ফ্যাক্টোরিয়ালে সব সংখ্যা ব্যবহার হয় কিন্তু প্রাইমোরিয়ালে শুধু প্রাইম নম্বর।
উদাহরণ:
ইনপুট: N = 4 আউটপুট: 210 ব্যাখ্যা: Pn# = 2 * 3 * 5 * 7 = 210
সমাধান: প্রথম nটি প্রাইম নম্বর বের করে তাদের গুণফল বের করব।
উদাহরণ
#include<bits/stdc++.h>
using namespace std;
const int MAX = 1000000;
vector <int> primeNumbers;
void findPrimes() {
bool marked[MAX/2 + 1] = {0};
for (int i = 1; i <= (sqrt(MAX)-1)/2 ; i++)
for (int j = (i*(i+1))<<1 ; j <= MAX/2 ; j += 2*i +1)
marked[j] = true;
primeNumbers.push_back(2);
for (int i=1; i<=MAX/2; i++)
if (marked[i] == false)
primeNumbers.push_back(2*i + 1);
}
int findPrimorial(int n) {
findPrimes();
int result = 1;
for (int i=0; i
আউটপুট
Primorial(P#) of first 6 prime numbers is 30030