1+2+3+...+100=?

Posted 张宝的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1+2+3+...+100=?相关的知识,希望对你有一定的参考价值。

int main()
{
   // 我要计算出1+2+3+...+100的值
   int i = 0, n = 100, sum = 0;    
   for (i; i <= n; i++) {
       sum += i;
   }
   printf("%d\n", sum);
   
   // 这对于电脑很轻松,只要重复一百次循环就可以了。但是人不行,累啊。
   // 所以要有一个合理的算法。
   // 数学家高斯(九岁时)也遇到了这个问题,他很快算出答案是5050
   // 首尾对应位置上的数字相加都是101,这样的首尾数字对一共有50个,相乘就是5050!
   // 好厉害!
   sum = ((1 + n) * n) / 2;
   printf("%d\n", sum);
   
   // 对于n=100的情况,电脑少操作了99步,推导至更为普遍的情况
   // 就是1次与n次的差别!
}

以上是关于1+2+3+...+100=?的主要内容,如果未能解决你的问题,请参考以下文章