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

Tổng n số tự nhiên đầu tiên trong C++

Tính tổng S = 1 + 2 + 3 + ... + n.

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

int findSum(int n) {
    int sum = 0;
    for (int x = 1; x <= n; x++) sum += x;
    return sum;
}

Cách 2: Công thức toán học (O(1))

S = n(n+1)/2

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

Cài đặt đầy đủ

#include <iostream>
using namespace std;

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

int main() {
    int n = 5;
    cout << findSum(n);
    return 0;
}

Output

15

Lưu ý

  • Dùng long long nếu n lớn (> 46340) để tránh tràn int.
  • Công thức xuất phát từ việc ghép cặp: 1+n, 2+(n-1), ... mỗi cặp bằng n+1.