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

ผลรวมของผลรวม n จำนวนธรรมชาติแรกใน C++

ปัญหา

หาผลรวมของผลรวมของ n จำนวนธรรมชาติแรก

สูตร: S = 1 + (1+2) + (1+2+3) + ... + (1+2+...+n)

ตัวอย่าง n = 4:

  • ผลรวม 1 ตัวแรก = 1
  • ผลรวม 2 ตัวแรก = 1+2 = 3
  • ผลรวม 3 ตัวแรก = 1+2+3 = 6
  • ผลรวม 4 ตัวแรก = 1+2+3+4 = 10
  • ผลรวมของผลรวม = 1+3+6+10 = 20

สูตรทางคณิตศาสตร์

ผลรวมของ i ตัวแรก = i(i+1)/2
ผลรวมของผลรวม = Σ(i=1 to n) i(i+1)/2 = n(n+1)(n+2)/6

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

#include <iostream>
using namespace std;

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

int main() {
    int n = 4;
    cout << "sum of sum first " << n << " natural numbers is " << sumofSum(n);
    return 0;
}

ผลลัพธ์

sum of sum first 4 natural numbers is 20