इस समस्या में, हमें एक स्ट्रिंग संख्या दी जाती है जो एक बड़ी संख्या होती है। जब बड़ी संख्या को 11in C++ से विभाजित किया जाता है, तो शेषफल खोजने के लिए एक प्रोग्राम बनाना हमारा कार्य है।
समस्या का विवरण - जब स्ट्रिंग द्वारा परिभाषित संख्या को 11 से विभाजित किया जाता है, तो हमें शेषफल खोजने की आवश्यकता होती है।
समस्या को समझने के लिए एक उदाहरण लेते हैं
इनपुट
num = “43212981843718452”
आउटपुट
7
समाधान दृष्टिकोण
शेषफल ज्ञात करने के लिए, हमें स्पष्ट रूप से संख्या को विभाजित करने की आवश्यकता है। लेकिन बड़ी संख्या को विभाजित करना एक जटिल प्रक्रिया है इसलिए इस प्रक्रिया को आसान बनाने के लिए, हम अंकों को अंकों से विभाजित करेंगे। और जो शेष बचता है उसे स्टोर करें। इस प्रक्रिया को पूरे स्ट्रिंग के लिए जारी रखा जाना है जिसमें एमएसबी से एलएसबी तक संख्या शामिल है। और अंत में शेष प्रिंट हो जाता है।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम
उदाहरण
#include <iostream> #include <string.h> using namespace std; int calcRem(string num){ int currDigit, rem = 0; for (int i = 0; i < num.length(); i++) { currDigit = rem * 10 + (num[i] - '0'); rem = currDigit % 11; } return rem; } int main() { string num = "43212981843718452"; cout<<"The remainder when large number is divided by 11 is"<<calcRem(num); return 0; }
आउटपुट
The remainder when large number is divided by 11 is 7