इनपुट के रूप में एक पूर्णांक संख्या दी गई है। लक्ष्य उस संख्या के लिए गणना किए गए भाज्य में अनुगामी शून्यों की संख्या ज्ञात करना है। संख्या N का एक भाज्य [1, N] श्रेणी में सभी संख्याओं का गुणनफल होता है।
हम जानते हैं कि हमें अनुगामी शून्य तभी प्राप्त होता है जब संख्या 10 का गुणज हो या एक गुणनखंड युग्म (2,5) हो। 5 से बड़ी किसी भी संख्या के सभी भाज्यों में, हमारे पास उस संख्या के अभाज्य गुणनखंड में 5s से 2s अधिक संख्या होती है। किसी संख्या को 5 के घात से भाग देने पर हमें उसके गुणनखंडों में 5 की गिनती मिल जाएगी। तो, 5 की संख्या हमें अनुगामी शून्यों की संख्या बताएगी।
उदाहरण के लिए
इनपुट
number=6
आउटपुट
Count of trailing zeros in factorial of a number are: 1
स्पष्टीकरण
The factorial is 30. Prime factors of 30 : 2 * 3 * 5 So only one pair of (2,5) exists so trailing zeros is 1.
इनपुट
number=12
आउटपुट
Count of trailing zeros in factorial of a number are: 2
स्पष्टीकरण
The factorial is 479001600. Prime factors of 479001600 : 210 x 35 x 52 x 71 x 111 So we can get 2 pairs of (2,5) so trailing zeros are 2
नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -
इस दृष्टिकोण में हम संख्या को 5 की शक्तियों से विभाजित करेंगे। यदि इसका परिणाम 1 से अधिक होता है तो अनुगामी शून्यों की संख्या 5s की संख्या होगी। इसे गिनने के लिए जोड़ें।
-
इनपुट के रूप में एक पूर्णांक संख्या लें।
-
फंक्शन ट्रेलिंग_ज़ेरोस (इंट नंबर) नंबर लेता है और नंबर के फैक्टोरियल में अनुगामी शून्य की गिनती देता है।
-
प्रारंभिक गणना 0 के रूप में लें।
-
लूप के लिए उपयोग करके, संख्या को 5 की घातों से विभाजित करें।
-
यदि संख्या/i 1 से अधिक है, तो इस मान को गिनने के लिए जोड़ें।
-
लूप के अंत में परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include <iostream> using namespace std; int trailing_zeros(int number){ int count = 0; for (int i = 5; number / i >= 1; i *= 5){ int temp = number / i; count = count + temp; } return count; } int main(){ int number = 50; cout<<"Count of trailing zeros in factorial of a number are: "<<trailing_zeros(number); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of trailing zeros in factorial of a number are: 12