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

Tổng các số tam giác (Triangular Numbers) 1, 3, 6, 10... trong C++

Số tam giác thứ k: T_k = 1 + 2 + ... + k = k(k+1)/2. Tính tổng S = T_1 + T_2 + ... + T_n.

Ví dụ

n = 4: T₁=1, T₂=3, T₃=6, T₄=10 → S = 20

Cách 1: Vòng lặp O(n)

int sum = 0;
for (int i = 1; i <= n; i++) sum += i * (i + 1) / 2;

Cách 2: Công thức O(1)

S = Σ k(k+1)/2 = 1/2 Σ(k² + k)
  = 1/2 [ n(n+1)(2n+1)/6 + n(n+1)/2 ]
  = n(n+1)(n+2)/6

Chương trình C++

#include <iostream>
using namespace std;

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

int main() {
    int n = 6;
    cout << "Tong so tam giac = " << sumTriangular(n); // 56
    return 0;
}

Kết quả

Tong so tam giac = 56