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

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

Tìm tổng của các tổng: S = Σ(1) + Σ(1+2) + Σ(1+2+3) + ... + Σ(1+...+n)

Ví dụ n = 4

  • Tổng đến 1: 1
  • Tổng đến 2: 1+2=3
  • Tổng đến 3: 1+2+3=6
  • Tổng đến 4: 1+2+3+4=10
  • Kết quả: 1+3+6+10 = 20

Phương pháp 1: Vòng lặp lồng (không hiệu quả)

#include <stdio.h>
int main() {
    int n = 4, sum = 0, s = 0;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= i; j++) s += j;
        sum += s;
    }
    printf("Tong = %d", sum);
    return 0;
}

Phương pháp 2: Công thức toán học (hiệu quả)

S = n(n+1)(n+2)/6

#include <stdio.h>
int main() {
    int n = 4;
    int sum = n * (n + 1) * (n + 2) / 6;
    printf("Tong = %d", sum); // Kết quả: 20
    return 0;
}

Lưu ý: Code gốc có lỗi công thức (chia 2 thay vì 6) và kết quả in ra 60 là sai.