Tính giá trị (1ⁿ + 2ⁿ + 3ⁿ + 4ⁿ) % 5. n có thể rất lớn, không thể tính lũy thừa trực tiếp. Quan sát tính chu kỳ: kết quả modulo 5 lặp lại chu kỳ 4.
- Nếu n % 4 == 0 → kết quả = 4.
- Ngược lại → kết quả = 0.
Ví dụ mã nguồn
#include <bits/stdc++.h>
using namespace std;
int mod5(int n) {
return (n % 4 == 0) ? 4 : 0;
}
int main() {
int n = 343;
cout << mod5(n); // 343 % 4 = 3 -> 0
return 0;
}
Kết quả
0
Công thức toán học O(1).