Cho chuỗi num đại diện cho số lớn. Tìm phần dư khi chia cho 11.
Ví dụ
Input: num = "43212981843718452"
Output: 7
Phương pháp giải
Tương tự chia số lớn cho r: duyệt từng chữ số, currDigit = rem * 10 + (num[i] - '0'), rem = currDigit % 11.
Ví dụ minh họa (C++)
#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;
}
Đầu ra
The remainder when large number is divided by 11 is 7