Cho ba số nguyên a, b, M. Tính (a + b) % M.
Ví dụ
Input: a = 14, b = 54, M = 7 Output: 5 Giải thích: 14 + 54 = 68, 68 % 7 = 5
Giải pháp
Công thức đơn giản: (a + b) % M. Trong C++, toán tử % cho kết quả có dấu cùng dấu với bị chia. Với số dương thì đơn giản.
Lưu ý: Nếu a, b lớn (gần LLONG_MAX), a + b có thể tràn. Cách an toàn:
(a % M + b % M) % M
Chương trình C++
#include <iostream>
using namespace std;
long long moduloSum(long long a, long long b, long long M) {
return (a % M + b % M) % M; // An toàn tràn số
}
int main() {
long long a = 35, b = 12, M = 7;
cout << "Tong modulo la " << moduloSum(a, b, M);
return 0;
}
Kết quả
Tong modulo la 5