Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में दी गई श्रेणी में भाज्य संख्याओं की गणना करें

हमें एक चर द्वारा धारित पूर्णांक मान से शुरू होने वाली श्रेणी दी गई है, मान लीजिए कि चर अंत तक शुरू होता है और कार्य दी गई सीमा में उपलब्ध भाज्य संख्याओं की कुल संख्या की गणना करना है।

फैक्टोरियल नंबर क्या है

किसी संख्या के भाज्य की गणना अंकों के अंकों को 1 से घटाते हुए अंकों को गुणा करके की जाती है। इसे '!' यानी 0!, 1!, 2!, 3!, 5!,... के प्रतीक द्वारा दर्शाया जाता है। ,आदि। 0 का फैक्टोरियल! और 1! हमेशा 1.

I.e. factorial of 2 = 2 * (2-1) = 2 * 1 = 2
      factorial of 3 = 3 * (3-1) * (2-1) = 3 * 2 * 1 = 6

उदाहरण के लिए

Input − start = 5, end = 600
Output − Count of factorial numbers are 3

स्पष्टीकरण - चूंकि, ऐसी 3 संख्याएं उपलब्ध हैं, जिनकी भाज्य संख्या 5-600 की सीमा में है।

Input − start = 1, end = 100
Output − Count of factorial numbers are 5
. है

स्पष्टीकरण - चूंकि, ऐसी 5 संख्याएँ उपलब्ध हैं, जिनकी भाज्य संख्याएँ 5-600 की सीमा में हैं।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • रेंज इनपुट करें और वेरिएबल में स्टोर शुरू और खत्म करें

  • फैक्टोरियल वैल्यू को स्टोर करने के लिए एक और वेरिएबल, 'तथ्य' लें और इसे नंबर काउंट बढ़ाने के लिए 1 और एक अस्थायी वैरिएबल, 'i' के साथ इनिशियलाइज़ करें।

  • लूप शुरू करें, जबकि फैक्ट स्टार्ट से कम है और फैक्टोरियल की गणना करने के लिए फैक्ट को i से गुणा करते रहें और साथ ही, i का मान बढ़ाते रहें

  • एक और लूप शुरू करें, जबकि फैक्ट एंड वेरिएबल के बराबर से कम है और एक वेरिएबल r के मान को बढ़ाते रहें और फैक्ट को फैक्ट *i पर सेट करते रहें और i का इंक्रीमेंट वैल्यू रखें

  • अब, r का मान लौटाएं, जिसमें कुल संख्या की संख्या की कुल संख्या है

  • परिणाम प्रिंट करें।

उदाहरण

#include <iostream>
using namespace std;
// To count the number of factorials
int factorials(int start, int end){
   // Starting from 1 and find the first factorial number
   // 'fact' greater than or equal to 'start'
   int fact = 1, i = 1;
   while (fact < start){
      fact = fact*i;
      i++;
   }
   // r to count factorial numbers in range start to end
   int r = 0;
   while (fact <= end){
      r++;
      fact = fact*i;
      i++;
   }
   // Return the count of factorials in range
   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

  1. C++ में दी गई श्रेणी में सभी अच्छे नंबरों को प्रिंट करें

    इस समस्या में, हमें तीन मान L, R और d दिए गए हैं। हमारा काम सभी अच्छे नंबर . को प्रिंट करना है एल से आर की सीमा के भीतर जिसमें d का अंक नहीं है। एक अच्छी संख्या2। अब, समस्या को समझने के लिए एक उदाहरण लेते हैं, Input: L = 400 , R = 500 , k = 3 Output: 410, 420, 421 स्पष्टीकरण − 400 से 500 के बीच

  1. C++ . में फैक्टोरियल ट्रेलिंग जीरो

    यहां हम देखेंगे कि किसी भी संख्या के भाज्य के परिणाम के लिए अनुगामी 0s की संख्या की गणना कैसे करें। तो अगर n =5, तो 5! =120. केवल एक अनुगामी 0 है। 20 के लिए! यह 20 के रूप में 4 शून्य होगा! =2432902008176640000। सबसे आसान तरीका सिर्फ फैक्टोरियल की गणना करना और 0 की गणना करना है। लेकिन यह दृष्टिकोण n

  1. C++ में दी गई लंबाई की मिश्रित संख्याओं की श्रेणी ज्ञात कीजिए

    मान लीजिए कि हमारे पास एक संख्या n है। हमें धनात्मक पूर्णांकों का परिसर ज्ञात करना है, जहाँ परिसर की सभी संख्याएँ संयुक्त हैं, और परास की लंबाई n है। यदि एक से अधिक रेंज हैं, तो किसी एक रेंज को प्रिंट करें। भाज्य संख्या वह संख्या होती है जिसमें 1 और स्वयं के अलावा कम से कम एक भाजक होता है। चूंकि परा