এই সমস্যায় দুটি পূর্ণসংখ্যা n এবং r দেওয়া আছে। n! (n ফ্যাক্টোরিয়াল) এর মধ্যে প্রাইম সংখ্যা r-এর ঘাত কত তা বের করতে হবে।
উদাহরণ
ইনপুট: n = 6, r = 2
আউটপুট: 4
ব্যাখ্যা: 6! = 720 = 2⁴ × 3² × 5। তাই 2-এর ঘাত = 4।
দক্ষ সমাধান: লেজান্দ্রের সূত্র
r-এর ঘাত n!-এ = ⌊n/r⌋ + ⌊n/r²⌋ + ⌊n/r³⌋ + ... (যতক্ষণ না ভাগফল ০ হয়)
C++ প্রোগ্রাম
#include <iostream>
using namespace std;
int primePower(int n, int r) {
int count = 0;
for (int i = r; n / i >= 1; i *= r)
count += n / i;
return count;
}
int main() {
int n = 6, r = 2;
cout << "ফ্যাক্টোরিয়াল " << n << " তে প্রাইম " << r << "-এর ঘাত: " << primePower(n, r);
return 0;
}
আউটপুট
ফ্যাক্টোরিয়াল 6 তে প্রাইম 2-এর ঘাত: 4