এই সমস্যাতে, আমাদের একটি সংখ্যা n এবং একটি প্রাইম নাম্বার p দেওয়া আছে। আমাদের কাজ হল n!-এ প্রাইম নাম্বার p-এর পাওয়ার (Power) বের করা।
উদাহরণ দেখি:
ইনপুট : n = 6, p = 2 আউটপুট : 4
সমাধানের পদ্ধতি
একটি সহজ সমাধান হল সরাসরি n!-এর মান বের করা। এবং তারপর ফ্যাক্টরাইজ করে প্রাইম নাম্বার p-এর পাওয়ার বের করা।
এখানে, সংখ্যাটিকে ৫! = ৩০-এ ২-এর পাওয়ার ফ্যাক্টরাইজেশন হিসেবে প্রকাশ করা হয়েছে যা ৩।
n ফ্যাক্টোরিয়ালের মান হল
$$n!\:=\:n^*(n-1)^*(n-2)^*(n-3)\dotso{^*}2^*1$$
$$n!\:=\:3^*2^*1\:=\:6$$
ধরি n = 6 এবং p = 2,
n! = 6! = (2*3*4*5*6)
n! = 720
৭২০-এর ফ্যাক্টরাইজেশন হল 2*2*2*2*3*3*5
৬!-এর ফ্যাক্টরাইজেশনে ২-এর পাওয়ার হল ৪।
সুতরাং আউটপুট হল ৪।
উদাহরণ
#include <iostream> using namespace std; int powerOfPrimeNfactorial(int N, int P){ int primePower = 0; int factVal = P; while (factVal <= N) { primePower += N / factVal; factVal = factVal * P; } return primePower; } int main(){ int N = 6; int P = 2; cout<<"The power of prime number "<<P<<" in "<<N<<"! is "<<powerOfPrimeNfactorial(N, P) << endl; return 0; }
আউটপুট
The power of prime number 2 in 6! is 4