এই সমস্যাতে, আমাদের একটি স্ট্রিং num দেওয়া আছে যা একটি বড় সংখ্যা প্রকাশ করে। আমাদের কাজ হল C++-এ এই সংখ্যাকে ১১ দিয়ে ভাগ করলে ভাগশেষ বের করার প্রোগ্রাম লিখা।
সমস্যা বর্ণনা: স্ট্রিং-এ দেওয়া সংখ্যাকে ১১ দিয়ে ভাগ করলে ভাগশেষ কত হবে তা বের করতে হবে।
উদাহরণ:
ইনপুট
num = "43212981843718452"
আউটপুট
7
সমাধানের পদ্ধতি
বড় সংখ্যা ভাগ করা জটিল, তাই ডিজিট বাই ডিজিট ভাগ করে প্রতিটি ধাপে ভাগশেষ সংরক্ষণ করব। পুরো স্ট্রিং (MSB থেকে LSB) পর্যন্ত এই প্রক্রিয়া চলবে। শেষে ভাগশেষ প্রিন্ট হবে।
প্রোগ্রাম
#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