求前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 ...