题目描述
高斯是德国伟大的数学家。小时候他就是一个爱动脑筋的聪明孩子。 还是上小学时,一次一位老师想治一治班上的淘气学生,他出了一道数学题,让学生从1+2+3……一直加到100为止。他想这道题足够这帮学生算半天的,他也可能得到半天悠闲。谁知,出乎他的意料,刚刚过了一会儿。小高斯就举起手来,说他算完了。老师一看答案,5050,完全正确。老师惊诧不已。问小高斯是怎么算出来的。 高斯说,他不是从开始加到末尾,而是先把1和100相加,得到101,再把2和99相加,也得101,最后50和51相加,也得101,这样一共有50个101,结果当然就是5050了。聪明的高斯受到了老师的表扬。 高斯的这种算法后来被称为高斯定理。 当然,现在我们用计算机来实现加法运算,不用高斯定理也可以算的这么快了。不过大家很多时候需要学会动脑筋哦。
输入
有多组测试数据,每组一行,输入一个正整数N。
输出
对于每组数据输出一行,计算1+2+3+…+N的和,并输出
样例输入
2
5
样例输出
3
15
#include<stdio.h>
int fact(int n);
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",fact(n));
}
return 0;
}
int fact(int n)
{
int i,s=0;
for(i=1;i<=n;i++)
{
s=s+i;
}
return s;
}
来源:CSDN
作者:hqm793899006
链接:https://blog.csdn.net/hqm793899006/article/details/103463092