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

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

หาผลรวมของผลรวม (Sum of Sums) ของจำนวนธรรมชาติ n ตัวแรก คือ หาผลรวม 1 ถึง i สำหรับทุก i จาก 1 ถึง n แล้วนำมาบวกกัน

ตัวอย่าง n = 4

  • Sum till 1 = 1
  • Sum till 2 = 1+2 = 3
  • Sum till 3 = 1+2+3 = 6
  • Sum till 4 = 1+2+3+4 = 10
  • Sum of Sums = 1+3+6+10 = 20

วิธีที่ 1: ใช้ลูป巢 (Inefficient)

#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("sum of sums till %d is %d", n, sum);
    return 0;
}

วิธีที่ 2: ใช้สูตรคณิตศาสตร์ (Efficient)

Sum = n(n+1)(n+2) / 6 (หมายเหตุ: สูตรเดิมเขียนผิด ควรเป็นหาร 6 ไม่ใช่ 2)

#include <stdio.h>
int main() {
    int n = 4;
    int sum = (n * (n + 1) * (n + 2)) / 6;
    printf("sum of sums till %d is %d", n, sum);
    return 0;
}

ผลลัพธ์

the sum of sum of natural number till 4 is 20