यहां हम देखेंगे कि किसी भी संख्या के भाज्य के परिणाम के लिए अनुगामी 0s की संख्या की गणना कैसे करें। तो अगर n =5, तो 5! =120. केवल एक अनुगामी 0 है। 20 के लिए! यह 20 के रूप में 4 शून्य होगा! =2432902008176640000।
सबसे आसान तरीका सिर्फ फैक्टोरियल की गणना करना और 0 की गणना करना है। लेकिन यह दृष्टिकोण n के बड़े मान के लिए विफल हो जाता है। तो हम एक और तरीका अपनाएंगे। अनुगामी शून्य होगा यदि अभाज्य गुणनखंड 2 और 5 हैं। यदि हम 2 और 5 को गिनें तो हम परिणाम प्राप्त कर सकते हैं। उसके लिए हम इस नियम का पालन करेंगे।
अनुगामी 0s =भाज्य (n) के अभाज्य गुणनखंडों में 5s की संख्या
इसलिए पिछला 0s =$$\lvert\frac{n}{5}\rvert+\lvert\frac{n}{25}\rvert+\lvert\frac{n}{125}\rvert+...$$
इसे हल करने के लिए, हमें इन चरणों का पालन करना होगा -
- गणना सेट करें =0
- i =5, (n/i)> 1 के लिए, i =i * 5 अपडेट करें, करें
- गिनती =गिनती + (n /i)
- वापसी की संख्या
उदाहरण (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