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

एल्गोरिदम
countTrailingZeros(n)
शुरुआत
count := 0
i := 5 से, (n/i) >= 1 तक, i := i * 5 बढ़ाते हुए करें
count := count + (n / i)
पूर्ण
count वापस करें
समाप्त
उदाहरण
#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;
}
int main() {
int n = 20;
cout << "Number of trailing zeros: " << countTrailingZeros(n);
return 0;
}
आउटपुट
Number of trailing zeros: 4