हमें एक रेंज दी गई है जो एक पूर्णांक मान से शुरू होती है जिसे चर द्वारा धारित किया जाता है, मान लीजिए प्रारंभ से चर अंत तक और कार्य दी गई रेंज में उपलब्ध फैक्टोरियल संख्याओं की कुल संख्या को गिनना है।
फैक्टोरियल संख्या क्या है
एक संख्या का फैक्टोरियल एक संख्या में अंकों को गुणा करके घटते क्रम में 1 से घटाकर गणना की जाती है। इसे प्रतीक '!' द्वारा दर्शाया जाता है यानी 0!, 1!, 2!, 3!, 5!,....,आदि। 0! और 1! का फैक्टोरियल हमेशा 1 होता है।
यानी 2 का फैक्टोरियल = 2 * (2-1) = 2 * 1 = 2 3 का फैक्टोरियल = 3 * (3-1) * (2-1) = 3 * 2 * 1 = 6
उदाहरण के लिए
इनपुट - प्रारंभ = 5, अंत = 600 आउटपुट - फैक्टोरियल संख्याओं की गिनती 3 है
व्याख्या - चूंकि, 5-600 की रेंज में 3 संख्याएं उपलब्ध हैं जिनमें फैक्टोरियल संख्याएं हैं।
इनपुट - प्रारंभ = 1, अंत = 100 आउटपुट - फैक्टोरियल संख्याओं की गिनती 5 है
व्याख्या - चूंकि, 5-600 की रेंज में 5 संख्याएं उपलब्ध हैं जिनमें फैक्टोरियल संख्याएं हैं।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
रेंज इनपुट करें और इसे प्रारंभ और अंत चरों में संग्रहीत करें
एक और चर लें, 'fact' फैक्टोरियल मानों को संग्रहीत करने के लिए और इसे 1 से आरंभ करें और संख्याओं की गिनती बढ़ाने के लिए एक अस्थायी चर, 'i'
लूप शुरू करें, जब तक fact प्रारंभ से कम है और fact को i से गुणा करते रहें ताकि फैक्टोरियल की गणना हो सके और साथ ही, i के मान को बढ़ाते रहें
एक और लूप शुरू करें, जब तक fact अंत चर से कम या बराबर है और एक चर r के मान को बढ़ाते रहें और fact को fact *i पर सेट करते रहें और i के मान को बढ़ाते रहें
अब, r का मान लौटाएं जो फैक्टोरियल संख्याओं की कुल संख्या की कुल गिनती रख रहा है
परिणाम प्रिंट करें।
उदाहरण
#include <iostream>
using namespace std;
// फैक्टोरियल की संख्या गिनने के लिए
int factorials(int start, int end) {
// 1 से शुरू करके पहला फैक्टोरियल नंबर ढूंढें
// 'fact' जो 'start' से बड़ा या बराबर हो
int fact = 1, i = 1;
while (fact < start) {
fact = fact * i;
i++;
}
// r रेंज प्रारंभ से अंत तक फैक्टोरियल संख्याओं को गिनने के लिए
int r = 0;
while (fact <= end) {
r++;
fact = fact * i;
i++;
}
// रेंज में फैक्टोरियल की गिनती लौटाएं
return r;
}
int main() {
int start = 5, end = 600;
cout << "Count of factorial numbers are " << factorials(start, end);
return 0;
}
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -
Count of factorial numbers are 3