यहां हम देखेंगे कि किसी संख्या के फैक्टोरियल के परिणाम के लिए अनुगामी 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