Skip to main content

Practice · 5 of 5

Debug: Modulo âm

CHALLENGE
Difficulty: intermediate+25 XP

**Bài toán (đã đúng):** tính (a − b) mod 10^9+7 với a, b ≤ 10^18 (không âm). In kết quả trong [0, 10^9+6]. **Code lỗi:** out << (a - b) % p; — (a − b) có thể ÂM và C++ giữ dấu của số bị chia (a, b không âm nên a − b ≥ −10^18: không tràn; lỗi duy nhất là dấu modulo). **Yêu cầu:** sửa thành ((a - b) % p + p) % p (hoặc chuẩn hóa tương đương) và pass mọi test. **Input:** a, b (0 ≤ a, b ≤ 10^18). **Output:** (a − b) mod p. **Ví dụ:** 3 5 -> 1000000005 (không phải −2).

Back to lesson: Practice: Debugging Problem Set