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

C++ में किसी संख्या के भाज्य में अनुगामी शून्यों की गणना करें

इनपुट के रूप में एक पूर्णांक संख्या दी गई है। लक्ष्य उस संख्या के लिए गणना किए गए भाज्य में अनुगामी शून्यों की संख्या ज्ञात करना है। संख्या 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

  1. C++ में एक आयत में वर्गों की संख्या गिनें

    =B. लक्ष्य उन वर्गों की संख्या का पता लगाना है जिन्हें LXB आकार का एक आयत समायोजित कर सकता है। ऊपर दिया गया चित्र 3 X 2 आकार का एक आयत दिखाता है। इसमें 2, 2X2 वर्ग और 6,1X1 वर्ग हैं। कुल वर्ग=6+2=8. LXB आकार के प्रत्येक आयत में L*B संख्या 1X1 वर्ग होती है। सबसे बड़े वर्ग BXB आकार के होते ह

  1. जावा प्रोग्राम एक संख्या के भाज्य में अनुगामी शून्य की गणना करने के लिए

    किसी संख्या के भाज्य में अनुगामी शून्यों की गणना करने के लिए, जावा कोड इस प्रकार है - उदाहरण import java.io.*; public class Demo{    static int trailing_zero(int num){       int count = 0;       for (int i = 5; num / i >= 1; i *= 5){       &n

  1. एक संख्या के भाज्य में अनुगामी शून्यों की गणना करने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक पूर्णांक n दिया गया है, हमें भाज्य में अनुगामी शून्यों की संख्या गिनने की आवश्यकता है। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # trailing zero def find(n):    # Initialize count &nb