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

C++ प्रोग्राम में बड़ी संख्या के लिए 37 से विभाज्य

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो यह जांचता है कि दी गई बड़ी संख्या 37 से विभाज्य है या नहीं।

हम यहां गणित का थोड़ा सा प्रयोग करने जा रहे हैं। आइए समस्या को हल करने के लिए चरणों को देखें।

  • नंबर को इनिशियलाइज़ करें।

  • यदि दी गई संख्या की लंबाई 3 से विभाज्य नहीं है, तो संख्या की शुरुआत में शून्य जोड़ें ताकि लंबाई 3 से विभाज्य हो।

  • संख्या को 3 अंकों के समूहों में विभाजित करें और उन्हें जोड़ें।

  • यदि परिणामी योग 37 से विभाज्य है, तो दी गई संख्या 37 से विभाज्य है।

  • यदि परिणामी योग 4 अंकों की संख्या है, तो 2 से चरणों को दोहराएं।

  • प्रिंट करें कि दी गई संख्या 37 से विभाज्य है या नहीं।

उदाहरण

आइए कोड देखें।

#include <bits/stdc++.h>
using namespace std;
bool isNumberDivisibleBy37(string number, int n) {
   if (number == "0") {
      return 0;
   }
   if (n % 3 == 1){
      number = "00"+ number;
      n += 2;
   }
   else if (n % 3 == 2){
      number = "0"+ number;
      n += 1;
   }
   int groups_sum = 0;
   while (n != 0){
      string group = number.substr(n - 3, n);
      int group_value = (group[0] - '0') * 100 + (group[1] - '0') * 10 + (group[2] - '0') * 1;
      groups_sum += group_value;
      n = n - 3;
   }
   if (groups_sum >= 1000) {
      string new_number = to_string(groups_sum);
      return isNumberDivisibleBy37(new_number, new_number.length());
   }
   else {
      return groups_sum % 37 == 0;
   }
}
int main() {
   string number = "4048675309";
   if (isNumberDivisibleBy37(number, 10)) {
      cout << "Yes" << endl;
   }
   else {
      cout << "No" << endl;
   }
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

Yes

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. हेक्साडेसिमल से दशमलव के लिए C++ प्रोग्राम

    एक इनपुट के रूप में एक हेक्साडेसिमल संख्या के साथ दिया गया, कार्य दिए गए हेक्साडेसिमल संख्या को दशमलव संख्या में परिवर्तित करना है। कंप्यूटर में हेक्साडेसिमल संख्या को आधार 16 के साथ दर्शाया जाता है और दशमलव संख्या को आधार 10 के साथ दर्शाया जाता है और 0 - 9 के मूल्यों के साथ दर्शाया जाता है जबकि हे

  1. C++ में दशमलव से हेक्साडेसिमल रूपांतरण के लिए कार्यक्रम

    एक इनपुट के रूप में एक दशमलव संख्या के साथ दिया गया, कार्य दिए गए दशमलव संख्या को एक हेक्साडेसिमल संख्या में बदलना है। कंप्यूटर में हेक्साडेसिमल संख्या को आधार 16 के साथ दर्शाया जाता है और दशमलव संख्या को आधार 10 के साथ दर्शाया जाता है और 0 - 9 के मूल्यों के साथ दर्शाया जाता है जबकि हेक्साडेसिमल सं

  1. C++ में दशमलव से बाइनरी रूपांतरण के लिए कार्यक्रम

    एक इनपुट के रूप में एक दशमलव संख्या के साथ दिया गया, कार्य दिए गए दशमलव संख्या को एक बाइनरी संख्या में बदलना है। कंप्यूटर में दशमलव संख्या को आधार 10 के साथ दर्शाया जाता है और बाइनरी संख्या को आधार 2 के साथ दर्शाया जाता है क्योंकि इसमें केवल दो बाइनरी अंक 0 और 1 होते हैं जबकि दशमलव संख्या 0 - 9 से