Trong bài toán này, chúng ta được cho giá trị n. Nhiệm vụ là tìm giá trị của (n^1 + n^2 + n^3 + n^4) mod 5.
Ví dụ minh họa
Input: n = 5 Output: 0
Giải thích: (5 + 25 + 125 + 625) mod 5 = 780 mod 5 = 0
Phương pháp 1: Tính trực tiếp
Tính trực tiếp giá trị biểu thức rồi lấy mod 5.
#include <iostream>
using namespace std;
int findMod5Val(int n){
int val = (n + (n*n) + (n*n*n) + (n*n*n*n));
return val % 5;
}
int main(){
int n = 12;
cout << "Với N = " << n << ", giá trị (n^1+n^2+n^3+n^4)%5 là " << findMod5Val(n);
return 0;
}
Phương pháp 2: Công thức toán học (O(1))
Rút gọn biểu thức: f(n) = n(n+1)(n²+1). Phân tích theo modulo 5:
- Nếu n % 5 == 1 → kết quả = 4
- Ngược lại → kết quả = 0
#include <iostream>
using namespace std;
int findMod5Val(int n){
if(n % 5 == 1) return 4;
return 0;
}
int main(){
int n = 65;
cout << "Với N = " << n << ", giá trị (n^1+n^2+n^3+n^4)%5 là " << findMod5Val(n);
return 0;
}
Kết quả
Với N = 65, giá trị (n^1+n^2+n^3+n^4)%5 là 4