高斯求和法

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高斯求和法相关的知识,希望对你有一定的参考价值。

高斯求和公式:和=(首项+末项)x项数÷2
例,
1+2+3+4+5+…+100
=(1+100)x100÷2
=101x100÷2
=101x50
=5050

这公式怎么来的?
1+2+3..+100 
=(1+100)+(2+99)..(50+51) 
=101*50 
=5050

图示如下;

下面来用C语言实现一下;

 

void CGsqhView::OnDraw(CDC* pDC)
{
	CGsqhDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;
	int i , j;
	j=0;
	for(i = 1;i<=100; i++){
		j+= i;
	}
	str1.Format("%d", j);
	pDC->TextOut(20,20,str1);

	
	int k;
	k = (100 * (1+100)) / 2;
	str1.Format("%d", k);
	pDC->TextOut(20,50,str1);
}

    前一段代码是一般方法求和,后一段是高斯求和;输出如下;

显然后者效率高多了;

以上是关于高斯求和法的主要内容,如果未能解决你的问题,请参考以下文章

高斯消除法组装 MIPS

poj1753 (高斯消元法求异或方程组)

高斯求和等差数列前缀和(洛谷1147 连续自然数和)

高斯牛顿法估计未知参数

(Gauss-Jordan)高斯消元法求逆矩阵(含C/C++实现代码)

高斯消元法示例