Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ผลรวมอนุกรมเลขสามเหลี่ยม 1, 3, 6, 10, ... ใน C++


ภาพรวมปัญหา

หาผลรวมของอนุกรมเลขสามเหลี่ยม (Triangular Numbers): 1, 3, 6, 10, ...

พจน์ที่ n: Tₙ = n(n+1)/2

ตัวอย่าง

Input: n = 4
Output: 20
Explanation: T₁+T₂+T₃+T₄ = 1+3+6+10 = 20

วิธีแก้ปัญหา

วิธีลูป - O(n)

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

วิธีสูตรคณิตศาสตร์ - O(1)

ผลรวม = ⅙ n(n+1)(n+2)

ตัวอย่างโค้ด C++

#include <iostream>
using namespace std;

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

int main() {
    int n = 6;
    cout << "Sum of triangular numbers = " << calcSeriesSum(n);
    return 0;
}

ผลลัพธ์

Sum of the series 1, 3, 6, 10 ... (Triangular Numbers) is 56