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