Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tổng hai số modulo M trong C++

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