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

Tổng dãy 1² - 2² + 3² - 4² + ... đến n số hạng C++


Cho số nguyên N. Nhiệm vụ: tính tổng dãy 1² - 2² + 3² - 4² + ... đến n số hạng.

Ví dụ minh họa

Input: N = 3 Output: 6

1² - 2² + 3² = 1 - 4 + 9 = 6

Phương pháp 1: Vòng lặp O(n)

Duyệt 1..n, chẵn trừ, lẻ cộng bình phương.

Phương pháp 2: Công thức O(1)

n chẵn: Sum = -n(n+1)/2 n lẻ: Sum = n(n+1)/2

Ví dụ chương trình (Phương pháp 2)

#include <iostream> 
using namespace std; 

int findSumOfSeries(int n) {
    if (n % 2 == 0) return -n * (n + 1) / 2;
    return n * (n + 1) / 2;
}

int main() {
    int n = 5;
    cout << "Tổng dãy: " << findSumOfSeries(n);
    return 0;
}

Kết quả

Tổng dãy: 15