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

Tổng chuỗi 1 + (1+3) + (1+3+5) + ... + (1+3+...+(2n-1)) trong C++

Cho n. Tính tổng chuỗi các tổng số lẻ liên tiếp:

S = 1 + (1+3) + (1+3+5) + ... + (1+3+5+...+(2n-1))

Ví dụ

n = 3: S = 1 + (1+3) + (1+3+5) = 1 + 4 + 9 = 14

Quan sát

Tổng i số lẻ đầu tiên = i².

Vậy số hạng thứ i của chuỗi là i².

Tổng chuỗi = Σ[i=1..n] i² = n(n+1)(2n+1)/6.

Chương trình C++

#include <iostream>
using namespace std;

long long calcSeriesSum(int n) {
    return 1LL * n * (n + 1) * (2 * n + 1) / 6;
}

int main() {
    int n = 9;
    cout << "Tong chuoi = " << calcSeriesSum(n); // 285
    return 0;
}

Kết quả

Tong chuoi = 285

Lưu ý

Bài gốc viết công thức (2n-1) trong mô tả nhưng code dùng (2n+1) đúng cho tổng bình phương.