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

Tìm (n^1 + n^2 + n^3 + n^4) mod 5 trong C++


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