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

C++ में फैक्टोरियल के अनुगामी शून्य


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

सबसे आसान दृष्टिकोण केवल फैक्टोरियल की गणना करना और 0 गिनना है। लेकिन यह दृष्टिकोण n के बड़े मान के लिए विफल हो जाता है। इसलिए हम दूसरे दृष्टिकोण का पालन करेंगे। अनुगामी शून्य तब होंगे जब अभाज्य गुणनखंड 2 और 5 हों। यदि हम 2 और 5 की गिनती करते हैं तो हम परिणाम प्राप्त कर सकते हैं। इसके लिए, हम इस नियम का पालन करेंगे।

अनुगामी 0s = फैक्टोरियल(n) के अभाज्य गुणनखंड में 5 की गिनती

तो अनुगामी 0s = $$\lvert\frac{n}{5}\rvert+\lvert\frac{n}{25}\rvert+\lvert\frac{n}{125}\rvert+...$$

इसे हल करने के लिए, हमें इन चरणों का पालन करना होगा -

  • count = 0 सेट करें
  • i = 5 के लिए, (n/i) > 1, i = i * 5 अपडेट करें, करें
    • count = count + (n / i)
  • count लौटाएं

उदाहरण (C++)

#include <iostream> 
#include <cmath> 
#define MAX 20 
using namespace std; 

int countTrailingZeros(int n) { 
    int count = 0; 
    for (int i = 5; n / i >= 1; i *= 5) 
        count += n / i; 
    return count; 
} 

main() { 
    int n = 20; 
    cout << "Number of trailing zeros: " << countTrailingZeros(n); 
}

इनपुट

Number of trailing zeroes: 20

आउटपुट

Number of trailing zeros: 4

  1. - C/C++ प्रोग्राम: किसी संख्या के फैक्टोरियल में अनुगामी शून्यों की गणना

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

  1. C++ में आधार B में N! के प्रतिनिधित्व में अनुगामी शून्यों की संख्या C++ में आधार B में N! के प्रतिनिधित्व में अनुगामी शून्यों की संख्या

    इस लेख में, हम किसी दी गई संख्या N के फैक्टोरियल के आधार B प्रतिनिधित्व में अनुगामी शून्यों को खोजने की समस्या को समझेंगे। उदाहरण के लिएइनपुट: N = 7 आधार = 2 आउटपुट: 4 व्याख्या: fact(7) = 5040 बेस10 में और 1001110110000 बेस16 में जिसमें 4 अनुगामी शून्य हैं। इनपुट: N = 11 आधार = 5 आउटपुट: 2 व्याख्या:

  1. C++ में आधार 16 में N! के प्रतिनिधित्व में अनुगामी शून्यों की संख्या C++ में आधार 16 में N! के प्रतिनिधित्व में अनुगामी शून्यों की संख्या

    इस लेख में, हम किसी दी गई संख्या N के फैक्टोरियल के आधार 16 प्रतिनिधित्व में अनुगामी शून्यों को खोजने की समस्या को समझेंगे, उदाहरण के लिएइनपुट: N = 7 आउटपुट: 1 व्याख्या: fact(7) = 5040 बेस10 में और 13B0 बेस16 में जिसमें 1 अनुगामी शून्य है। इनपुट: N = 11 आउटपुट: 2 व्याख्या: fact(11) = 39916800 बेस10