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