前n個自然數的平方和之和


前n個自然數的平方和之和是指求從1到n的平方和的總和。這個序列求出從1到n每個數的平方和,並將這些和加到一個sum變數中。

前4個自然數的平方和之和是:

sum = (12) + (12 + 22 ) + (12 + 22 + 32) + (12 + 22 + 32 + 42 ) = 1 + 5 + 14 + 30 = 50

有兩種方法可以求前n個自然數的平方和之和。

1) 使用for迴圈。

在這種方法中,我們將迴圈遍歷從1到N的每個數字,找到平方和,然後將這個平方和新增到sum變數中。此方法需要對n個數字進行迭代,因此對於較大的數字,它將非常耗時。

示例

#include <stdio.h>
int main() {
   int n = 6;
   int sum = 0;
   for (int i = 1; i <= n; i++)
      sum += ((i * (i + 1) * (2 * i + 1)) / 6);
   printf("The square-sum of first %d natural number is %d",n,sum);
   return 0;
}

輸出

The square-sum of first 6 natural number is 196

2) 使用數學公式

根據求第n項和該序列的通項公式,可以推匯出一個數學公式來求前n個自然數的平方和之和。求前n個自然數的平方和之和的公式是 sum = n*(n+1)*(n+1)*(n+2)/12

基於此公式,我們可以編寫一個程式來求和:

示例

#include <stdio.h>
int main() {
   int n = 6;
   int sum = (n*(n+1)*(n+1)*(n+2))/12;
   printf("The square-sum of first %d natural number is %d",n,sum);
   return 0;
}

輸出

The square-sum of first 6 natural number is 196

更新於:2019年8月19日

321 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告