इस समस्या में, हमें एक संख्या n और एक अभाज्य संख्या p दी गई है। हमारा काम है n में अभाज्य संख्या p की घात ज्ञात करना!
समस्या को समझने के लिए एक उदाहरण लेते हैं,
Input : n = 6, p = 2 Output : 4
समाधान दृष्टिकोण
समस्या का एक सरल समाधान केवल n! का मान ज्ञात करना है। और इसका गुणनखंड करें, और गुणनखंड में अभाज्य संख्या p की घात ज्ञात करें।
यहाँ, संख्या को 5 में 2 के घात गुणनखंड के रूप में दर्शाया जा सकता है! =30 है 3.
n फैक्टोरियल का मान है
$$n!\:=\:n^*(n-1)^*(n-2)^*(n-3)\dotso{^*}2^*1$$
$$n!\:=\:3^*2^*1\:=\:6$$
मान लीजिए n =6 और p =2,
एन! =6! =(2*3*4*5*6)
एन! =720
720 का गुणनखंड 2*2*2*2*3*3*5
. है6 के गुणनखंड में 2 की शक्ति! 4 है।
इसलिए आउटपुट 4 है।
उदाहरण
हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम
#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