Trong bài toán này, chúng ta được cung cấp một chuỗi num là một số lớn và một số nguyên R. Nhiệm vụ của chúng ta là tạo một chương trình tìm phần dư khi số nhỏ được chia cho r trong C ++ .
Mô tả sự cố - Ta cần tìm số dư khi số được xác định bởi chuỗi chia cho r là số có hai chữ số.
Hãy lấy một ví dụ để hiểu vấn đề
Đầu vào
num = “123423450942121” r = 54
Đầu ra
7
Phương pháp tiếp cận giải pháp
Để tìm phần dư, rõ ràng chúng ta cần chia số. Nhưng phép chia số là một quá trình phức tạp nên để dễ dàng hơn, chúng ta sẽ chia cho từng chữ số. Và lưu trữ phần còn lại sau đó. Quá trình này sẽ được tiếp tục cho toàn bộ chuỗi có chứa số từ MSB đến LSB. Và cuối cùng phần còn lại được in.
Chương trình minh họa hoạt động của giải pháp của chúng tôi
Ví dụ
#include <iostream> #include <string.h> using namespace std; int calcRem(string num, int R){ int currDigit, rem = 0; for (int i = 0; i < num.length(); i++) { currDigit = rem * 10 + (num[i] - '0'); rem = currDigit % R; } return rem; } int main() { string num = "123423450942121"; int R = 54; cout<<"The remainder when large number is divided by r is"<<calcRem(num, R); return 0; }
Đầu ra
The remainder when large number is divided by r is 7