एक धनात्मक पूर्णांक 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