前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
廣告