歸納策略 求前n個自然數的平方之和

2022-08-22 17:57:07 字數 638 閱讀 6384

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

s=1^2+2^2+3^2+……+n^2 

因為(1^2+2^2+3^2+…+n2)/(1+2+3+…+n) =(2n+1)/3

又由於 1+2+3+…+n=n(n+1)/2,因此得到:

1^2+2^2+3^2+…+n^2=n(n+1) (2n+1)/6

推導過程:

有乙個三角形的數字矩陣

12 2

3 3 3

4 4 4 4

顯然以上數字矩陣就是1+2^2+3^2+4^2

將它以中心點旋轉120度得到

43 4

2 3 4

1 2 3 4

將它再以中心點旋轉120度得到

44 3

4 3 2

4 3 2 1

然後三個矩陣相加得到

99 9

9 9 9

9 9 9 9

所以答案就是9*10/3

對於一般情況

答案等於 (1+n+n)*(1+2+3+..+n)=(2n+1)*(n+1)*n/2/3=n*(n+1)*(2n+1)/6

**如下(省略了高精度,**如此弱智):

#include#includeint main()

前N個自然數的隨機置換

來自 資料結構與演算法分析 c語言描述 練習2.7 問題描述 假設需要生成前n個自然數的乙個隨機置換。例如,和 就是合法的置換,但 卻不是,因為數1出現了兩次而數 3 缺沒有。這個程式常常用於模擬一些演算法。我們假設存在乙個隨機數生成器 randint i,j 它以相同的概率生成 i 和 j 之間的...

生成前N個自然數隨機置換的3個程式

假設需要生成前n個自然數的乙個隨機置換。例如,和就是合法的置換,但卻不是,因為數1出現兩次而數3卻沒有。這個程式常常用於模擬一些演算法。我們假設存在乙個隨機數生成器randint i,j 它以相同的概率生成i和j之間的乙個整數。int randint int i,int j srand 放在主函式中...

前n個自然數的平方和的求解方法 經典與獨創

用數數辦法求解 oo oooo。n個ooo ooo。n個o ooo。n個o n個o f n 1 2 3 n 2 3 n 3 n n n n 1 2 n 1 n 2 2 n 2 n 3 2 n n 1 n n 2 n n 1 2 n n 1 2 1 2 2 n n 1 2 2 3 2 n n 1 2 ...