有一个时兴的小故事说,知名的数学家高斯有一个懒散的教师。说白了的教师想让小朋友们忙些,那样他就可以睡个午休,因而他规定全班学生测算数字1加到100。
高斯函数回应了他:5050。算的十分快,教师猜疑是舞弊的,高斯函数自然沒有!手动式1加到100是愚钝的,高斯函数发觉了一个防止该难题的公式计算:
使我们共享一些相关此結果的表述,并以形象化的方法真实了解它。针对这种实例,大家将加上1到10,随后查询它怎样运用于1到100(或1到一切数据)。
技术性1:匹配数据
匹配数据是处理此难题的常见方式 。两者之间将全部数据写在单独列中,比不上将他们围绕起來,以下所显示:
1 2 3 4 5
10 9 8 7 6
发生了一个有意思的方式:每列的总数为11。伴随着下排数据的提升,下排数据的降低,每列总数维持不会改变。
由于1与10(大家的n)匹配,因此可以说每一列都是有(n 1)。大家有几组?大家有两个相同的行,大家有n / 2对。
这就是上边高斯函数的公式计算。
那合数个新项目呢?
啊,很高兴您明确提出来。如果我们将数据1到9求和该怎么办?大家沒有双数的新项目要匹配。
使我们将数字1再加上9,而不是从1逐渐,使我们从0开始记数:
0 1 2 3 4
9 8 7 6 5
根据从0开始记数,大家获得一个"附加新项目"(一共10个),因而我们可以获得双数行。可是,大家的公式计算看上去会各有不同。
一定要注意,因为将0和9分得一组,因此每一列的总数为n(而不是像以前一样n 1);我们在2行中有n 一个项,累计(n 1)/ 2对(而不是在2行中有恰好n个项,一共n / 2对)。假如您插进这种数据,您将得到:
与之前的公式计算同样!同样的公式计算对奇数和偶数都合理!
技术性2:应用二行
上边的方式 合理,可是您对奇数和偶数的处理方法不一样,必须各自解决。那是否有更强的方式 ?有。
使我们将他们写在二行中,而不是四处循环系统:
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
一定要注意,大家有10对,每对加起來为10 1,每列的总数为11。
上边全部数据的总数是
可是大家只要想一行的总数,而不是二行。因而大家将上边的公式计算除于2获得: