एक धनात्मक पूर्णांक n का फैक्टोरियल 1*2*3*...n के गुणनफल के बराबर होता है। ऋणात्मक संख्या का फैक्टोरियल मौजूद नहीं होता। यहां डायनामिक प्रोग्रामिंग का उपयोग करके दिए गए इनपुट का फैक्टोरियल खोजने के लिए एक C++ प्रोग्राम दिया गया है।
एल्गोरिदम
शुरुआत fact(int n): संख्या n पढ़ें आरंभ करें i = 1, result[1000] = {0} result[0] = 1 i = 1 से n तक result[i] = i * result[i-1] result प्रिंट करें अंत उदाहरण कोड
#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<<"फैक्टोरियल की गणना के लिए पूर्णांक दर्ज करें (बाहर निकलने के लिए 0 दर्ज करें): "; cin>>n; if (n == 0) break; cout<<fact(n)<<endl; } return 0; } आउटपुट
फैक्टोरियल की गणना के लिए पूर्णांक दर्ज करें (बाहर निकलने के लिए 0 दर्ज करें): 2 2 फैक्टोरियल की गणना के लिए पूर्णांक दर्ज करें (बाहर निकलने के लिए 0 दर्ज करें): 6 720 फैक्टोरियल की गणना के लिए पूर्णांक दर्ज करें (बाहर निकलने के लिए 0 दर्ज करें): 7 5040 फैक्टोरियल की गणना के लिए पूर्णांक दर्ज करें (बाहर निकलने के लिए 0 दर्ज करें): 10 3628800 फैक्टोरियल की गणना के लिए पूर्णांक दर्ज करें (बाहर निकलने के लिए 0 दर्ज करें): 0