एक धनात्मक पूर्णांक n का भाज्य 1*2*3*...n के बराबर होता है। एक ऋणात्मक संख्या का भाज्य मौजूद नहीं है। गतिशील प्रोग्रामिंग का उपयोग करके दिए गए इनपुट के फैक्टोरियल को खोजने के लिए यहां एक सी ++ प्रोग्राम दिया गया है।
एल्गोरिदम
Begin
fact(int n):
Read the number n
Initialize
i = 1, result[1000] = {0}
result[0] = 1
for i = 1 to n
result[i] = I * result[i-1]
Print result
End उदाहरण कोड
#include <iostream>
using namespace std;
int result[1000] = {0};
int fact(int n) {
if (n >= 0) {
result[0] = 1;
for (int i = 1; i <= n; ++i) {
result[i] = i * result[i - 1];
}
return result[n];
}
}
int main() {
int n;
while (1) {
cout<<"Enter integer to compute factorial (enter 0 to exit): ";
cin>>n;
if (n == 0)
break;
cout<<fact(n)<<endl;
}
return 0;
} आउटपुट
Enter integer to compute factorial (enter 0 to exit): 2 2 Enter integer to compute factorial (enter 0 to exit): 6 720 Enter integer to compute factorial (enter 0 to exit): 7 5040 Enter integer to compute factorial (enter 0 to exit): 10 3628800 Enter integer to compute factorial (enter 0 to exit): 0